void CAICallback::EraseGroup(int groupid) { if (CHECK_GROUPID(groupid)) { if(gh->groups[groupid]) gh->RemoveGroup(gh->groups[groupid]); } }
int CAICallback::GiveGroupOrder(int groupid, Command* c) { if (CHECK_GROUPID(groupid) && c != NULL) { if(gh->groups[groupid] && gh->groups[groupid]->ai) gh->groups[groupid]->ai->GiveCommand(c); } return 0; }
const std::vector<CommandDescription>* CAICallback::GetGroupCommands(int groupid) { static std::vector<CommandDescription> tempcmds; if (CHECK_GROUPID(groupid)) { if(gh->groups[groupid] && gh->groups[groupid]->ai) return &gh->groups[groupid]->ai->GetPossibleCommands(); } return &tempcmds; }
bool CAICallback::AddUnitToGroup(int unitid,int groupid) { if (CHECK_UNITID(unitid) && CHECK_GROUPID(groupid)) { CUnit* u=uh->units[unitid]; if(u && u->team==team && gh->groups[groupid]){ return u->SetGroup(gh->groups[groupid]); } } return false; }
void CAICallback::EraseGroup(int groupId) { GML_RECMUTEX_LOCK(group); // EraseGroup if (CHECK_GROUPID(groupId)) { if (gh->groups[groupId]) { gh->RemoveGroup(gh->groups[groupId]); } } }
bool CAICallback::AddUnitToGroup(int unitId, int groupId) { bool added = false; CUnit* unit = GetMyTeamUnit(unitId); if (unit) { if (CHECK_GROUPID(groupId) && gh->groups[groupId]) { added = unit->SetGroup(gh->groups[groupId]); } } return added; }