18#ifndef INCLUDED_ICMPAIMANAGER
19#define INCLUDED_ICMPAIMANAGER
#define DECLARE_INTERFACE_TYPE(iname)
Definition: Interface.h:23
int32_t player_id_t
valid player IDs are non-negative (see ICmpOwnership)
Definition: Player.h:24
Definition: ICmpAIManager.h:26
static JS::Value GetAIs(const ScriptInterface &scriptInterface)
Returns a vector of {"id":"value-for-AddPlayer", "name":"Human readable name"} objects,...
Definition: ICmpAIManager.cpp:86
virtual void PushCommands()=0
Call this at the start of a turn, to push the computed AI commands into the command queue.
virtual void StartComputation()=0
Call this at the end of a turn, to trigger AI computation which will be ready for the next turn.
virtual void TryLoadSharedComponent()=0
virtual void AddPlayer(const std::wstring &id, player_id_t player, uint8_t difficulty, const std::wstring &)=0
Add a new AI player into the world, based on the AI script identified by id (corresponding to a subdi...
virtual void SetRNGSeed(uint32_t seed)=0
virtual void RunGamestateInit()=0
Definition: IComponent.h:33
Abstraction around a SpiderMonkey JS::Realm.
Definition: ScriptInterface.h:72
unsigned int uint32_t
Definition: wposix_types.h:53
unsigned char uint8_t
Definition: wposix_types.h:51