1 #pragma once
2 
3 #include "API/interfaces/api.h"
4 
5 
6 extern "C" {
7 	#include "lua.h"
8 	#include "lualib.h"
9 	#include "lauxlib.h"
10 }
11 #include "API/swig.h"
12 
13 class CTestAI : public IAI {
14 public:
15 
16 	CTestAI(IGame* game);
17 	virtual ~CTestAI();
18 
19 	virtual void Init();
20 	virtual void Update();
21 	virtual void GameEnd();
22 	virtual void GameMessage(const char* text);
23 
24 	virtual void UnitCreated(IUnit* unit);
25 	virtual void UnitBuilt(IUnit* unit);
26 	virtual void UnitDead(IUnit* unit);
27 	virtual void UnitIdle(IUnit* unit);
28 	virtual void UnitMoveFailed(IUnit* unit);
29 
30 	virtual void UnitGiven(IUnit* unit);
31 
32 	virtual void UnitDamaged(IUnit* unit, IUnit* attacker);
33 
34 	lua_State *L;
35 
36 	void PushIUnit(IUnit* unit);
37 
38 	static IAI* ai;
GetGame()39 	IGame* GetGame() const { return game; }
40 protected:
41 
42 	swig_type_info* unittype;
43 	bool LoadLuaFile(std::string filename);
44 
45 	IGame* game;
46 };
47