diff options
Diffstat (limited to 'gmod/listener.hpp')
| -rw-r--r-- | gmod/listener.hpp | 26 |
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 |
