summaryrefslogtreecommitdiff
path: root/gmod/listener.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gmod/listener.hpp')
-rw-r--r--gmod/listener.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/gmod/listener.hpp b/gmod/listener.hpp
new file mode 100644
index 0000000..182a615
--- /dev/null
+++ b/gmod/listener.hpp
@@ -0,0 +1,26 @@
+#pragma once
+#include "sdk.hpp"
+
+struct generic_listener_t : public IGameEventListener2 {
+ generic_listener_t( const char* event_name,
+ void( *function )( IGameEvent* ) );
+
+ generic_listener_t( ) = default;
+
+ ~generic_listener_t( );
+
+ void init( );
+
+ void FireGameEvent( IGameEvent* event ) override { m_function( event ); }
+ int GetEventDebugID( ) override { return 0x2a; }
+private:
+ void( *m_function )( IGameEvent* );
+ const char* m_name{ };
+ bool m_registered{ };
+};
+
+namespace listeners {
+ extern void bullet_impact( IGameEvent* e );
+ extern void player_hurt( IGameEvent* e );
+ extern void round_start( IGameEvent* e );
+} \ No newline at end of file