BWAPI 4.2.0 An API for interacting with Starcraft: Broodwar (1.16.1) |
Public Member Functions | |
void * | getClientInfo (int key=0) const |
template<typename CT > | |
CT | getClientInfo (int key=0) const |
void | registerEvent (const std::function< void(T *)> &action, const std::function< bool(T *)> &condition=nullptr, int timesToRun=-1, int framesToCheck=0) |
template<typename V > | |
void | setClientInfo (const V &clientInfo, int key=0) |
This generalized class allows the application of features that are common to all interface classes.
T | The class that inherits this interface. |
0
) constRetrieves a pointer or value at an index that was stored for this interface using setClientInfo.
key | The key containing the value to retrieve. Default is 0. |
nullptr | if index is out of bounds. |
Referenced by BWAPI::Interface< T >::getClientInfo().
0
) constReferences BWAPI::Interface< T >::getClientInfo().
Associates one or more pointers or values with any BWAPI interface.
This client information is managed entirely by the AI module. It is not modified by BWAPI.
If client info at the given index has already been set, then it will be overwritten.
clientInfo | The data to associate with this interface. |
key | The key to use for this data. Default is 0. |
nullptr
, int timesToRun = -1
, int framesToCheck = 0
)Registers an event and associates it with the current Interface object.
Events can be used to automate tasks (like train X Marines until Y of them have been created by the given Barracks) or to create user-defined callbacks.
action | The action callback to be executed when the event conditions are true. It is of type void fn(T *inst) where fn is the function name and inst is a pointer to the instance of the object performing the action. |
condition | (optional) The condition callback which will return true if the action is intended to be executed. It is of type bool fn(T *inst) where fn is the function name and inst is a pointer to the instance of the object performing the check. The condition will always be true if omitted. |
timesToRun | (optional) The number of times to execute the action before the event is removed. If the value is negative, then the event will never be removed. The value will be -1 if omitted, causing the event to execute until the game ends. |
framesToCheck | (optional) The number of frames to skip between checks. If this value is 0, then a condition check is made once per frame. If this value is 1, then the condition for this event is only checked every other frame. This value is 0 by default, meaning the event's condition is checked every frame. |