Ejemplo n.º 1
0
UnitGroupManager::UnitGroupManager()
{
	TheUnitGroupManager = this;
	for(std::set<BWAPI::Unit*>::iterator i=BWAPI::Broodwar->getAllUnits().begin();i!=BWAPI::Broodwar->getAllUnits().end(); ++i)
	{
		onUnitDiscover(*i);
	}
	neutral=NULL;
	for(std::set<BWAPI::Player*>::iterator i=BWAPI::Broodwar->getPlayers().begin();i!=BWAPI::Broodwar->getPlayers().end(); ++i)
	{
		if ((*i)->isNeutral())
			neutral=*i;
	}
}
Ejemplo n.º 2
0
void EventDispatcher::dispatchEvent(BWAPI::Event* e)
{
    switch(e->type)
	{
	case BWAPI::EventType::MatchStart:
		onMatchStart();
		break;
	case BWAPI::EventType::MatchEnd:
		onMatchEnd(e->isWinner);
		break;
    case BWAPI::EventType::MatchFrame:
        onMatchFrame();
        break;
    case BWAPI::EventType::MenuFrame:
        onMenuFrame();
        break;
    case BWAPI::EventType::SendText:
		onSendText(e->text);
        break;
    case BWAPI::EventType::ReceiveText:
		onReceiveText(e->player, e->text);
        break;
    case BWAPI::EventType::PlayerLeft:
        onPlayerLeft(e->player);
        break;
    case BWAPI::EventType::NukeDetect:
		onNukeDetect(e->position);
        break;
    case BWAPI::EventType::UnitDiscover:
        onUnitDiscover(e->unit);
        break;
    case BWAPI::EventType::UnitEvade:
        onUnitEvade(e->unit);
        break;
    case BWAPI::EventType::UnitShow:
        onUnitShow(e->unit);
        break;
    case BWAPI::EventType::UnitHide:
        onUnitHide(e->unit);
        break;
    case BWAPI::EventType::UnitCreate:
        onUnitCreate(e->unit);
        break;
    case BWAPI::EventType::UnitDestroy:
        onUnitDestroy(e->unit);
        break;
    case BWAPI::EventType::UnitMorph:
        onUnitMorph(e->unit);
        break;
    case BWAPI::EventType::UnitRenegade:
        onUnitRenegade(e->unit);
        break;
    case BWAPI::EventType::SaveGame:
        onSaveGame(e->text);
        break;
    case BWAPI::EventType::None:
        break;
    default:
        printf("error: Unknown event");
        break;
	}
}