summaryrefslogtreecommitdiff
path: root/tf2/listener.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tf2/listener.hpp')
-rw-r--r--tf2/listener.hpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tf2/listener.hpp b/tf2/listener.hpp
new file mode 100644
index 0000000..1ee442f
--- /dev/null
+++ b/tf2/listener.hpp
@@ -0,0 +1,24 @@
+#pragma once
+#include "sdk.h"
+
+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 player_hurt( IGameEvent* e );
+} \ No newline at end of file