aboutsummaryrefslogtreecommitdiff
path: root/FeatureManager.h
blob: 786850751f826fd361439f3d7a30530dd17dec30 (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
25
26
27
28
29
30
31
32
33
34
#pragma once
#include <vector>

class Feature;
class Player;
class Unit;
class FeatureManager
{
private:
	static FeatureManager* instance;

	std::vector <Feature*> features;

	FeatureManager();

public:
	static FeatureManager* Get();
	void RegisterFeature(Feature* feature);

	//Callbacks
	void LoadConfig();
	void SaveConfig();
	void OnInitialise();
	void OnGameStart();
	void OnTurn();
	void OnCreateUnit(Unit* unit);
	void OnShutdown();
	void OnDraw();
	void OnMenuMainWindow();
	void OnMenuPlayerTreenode(Player* player, int playerIndex);
	void OnPlayerIteration(Player* player, int playerIndex);
	void OnUnitIteration(Unit* unit, Player* player, int playerIndex);
	void OnNeutralUnit(Unit* unit);
};