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
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef I_GLOBAL_AI_CALLBACK_H
#define I_GLOBAL_AI_CALLBACK_H
#include <vector>
#include <deque>
namespace springLegacyAI {
class IAICheats;
class IAICallback;
/**
* Each (legacy) C++ Skirmish AI receives one of these during initialization,
* to be able to query things form the engine.
*/
class IGlobalAICallback
{
public:
virtual IAICallback* GetAICallback() = 0;
/**
* Returns NULL if "/cheat" is not enabled, or there are several players
* in the game
*/
virtual IAICheats* GetCheatInterface() = 0;
// use virtual instead of pure virtual,
// becuase pur evirtual is not well supported
// among different OSs and compilers,
// and pure virtual has no advantage
// if we have other pure virtual functions
// in the class
virtual ~IGlobalAICallback() {}
};
} // namespace springLegacyAI
#endif // I_GLOBAL_AI_CALLBACK_H
|