summaryrefslogtreecommitdiff
path: root/gmod/listener.hpp
diff options
context:
space:
mode:
authorJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
committerJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
commit7ccb819f867493f8ec202ea3b39c94c198c64584 (patch)
tree94622e61af0ff359e3d6689cf274d74f60b2492a /gmod/listener.hpp
parent564d979b79e8a5aaa5014eba0ecd36c61575934f (diff)
first
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