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 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#ifndef GLOBALAI_H
#define GLOBALAI_H
#include "headers/HEngine.h"
#include "headers/HAIInterface.h"
class AIClasses;
class CE323AI: public IGlobalAI {
public:
CE323AI();
void InitAI(IGlobalAICallback* callback, int team);
void ReleaseAI();
void UnitCreated(int unit, int builder);
void UnitFinished(int unit);
void UnitDestroyed(int unit, int attacker);
void UnitIdle(int unit);
void UnitDamaged(int damaged, int attacker, float damage, float3 dir);
void EnemyDamaged(int damaged, int attacker, float damage, float3 dir);
void UnitMoveFailed(int unit);
void EnemyEnterLOS(int enemy);
void EnemyLeaveLOS(int enemy);
void EnemyEnterRadar(int enemy);
void EnemyLeaveRadar(int enemy);
void EnemyCreated(int enemy);
void EnemyDestroyed(int enemy, int attacker);
void GotChatMsg(const char* msg, int player);
int HandleEvent(int msg, const void* data);
void Update();
protected:
AIClasses* ai;
// shared structure among other AI modules
private:
bool isRunning;
// AI is fully initialized and running
int attachedAtFrame;
// frame when AI was attached
};
#endif
|