summaryrefslogtreecommitdiff
path: root/tf2/listener.hpp
blob: 1ee442f0c2b680dfd356d31cdf360318d1db6f5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 );
}