void BorderManager::update() { if ((lastFrameCheck == 0) || (BWAPI::Broodwar->getFrameCount() > lastFrameCheck + 100)) { lastFrameCheck = BWAPI::Broodwar->getFrameCount(); if (TheInformationManager->getEnemyBases()!=this->enemyBases) { this->enemyBases=TheInformationManager->getEnemyBases(); recalculateBorders(); } //for(std::set<BWTA::Chokepoint*>::const_iterator c=myBorder.begin();c!=myBorder.end(); ++c) //{ // BWAPI::Position point1=(*c)->getSides().first; // BWAPI::Position point2=(*c)->getSides().second; // BWAPI::Broodwar->drawLineMap(point1.x(),point1.y(),point2.x(),point2.y(),BWAPI::Colors::Red); //} //for(std::set<BWTA::Chokepoint*>::const_iterator c=enemyBorder.begin();c!=enemyBorder.end(); ++c) //{ // BWAPI::Position point1=(*c)->getSides().first; // BWAPI::Position point2=(*c)->getSides().second; // BWAPI::Broodwar->drawLineMap(point1.x(),point1.y(),point2.x(),point2.y(),BWAPI::Colors::Orange); //} } }
void BorderManager::onFrame() { if ( m_informationManager->getEnemyBases() != m_enemyBases ) { // the set of enemy bases has changed, so we need to recalculate the borders m_enemyBases = m_informationManager->getEnemyBases(); recalculateBorders(); } }
void BorderManager::update() { if (TheInformationManager->getEnemyBases()!=this->enemyBases) { this->enemyBases=TheInformationManager->getEnemyBases(); recalculateBorders(); } for(std::set<BWTA::Chokepoint*>::const_iterator c=myBorder.begin();c!=myBorder.end();c++) { BWAPI::Position point1=(*c)->getSides().first; BWAPI::Position point2=(*c)->getSides().second; BWAPI::Broodwar->drawLineMap(point1.x(),point1.y(),point2.x(),point2.y(),BWAPI::Colors::Red); } for(std::set<BWTA::Chokepoint*>::const_iterator c=enemyBorder.begin();c!=enemyBorder.end();c++) { BWAPI::Position point1=(*c)->getSides().first; BWAPI::Position point2=(*c)->getSides().second; BWAPI::Broodwar->drawLineMap(point1.x(),point1.y(),point2.x(),point2.y(),BWAPI::Colors::Orange); } }
void BorderManager::removeMyBase( BWTA::BaseLocation* location ) { m_myBases.erase( location ); recalculateBorders(); }
void BorderManager::addMyBase( BWTA::BaseLocation* location ) { m_myBases.insert( location ); recalculateBorders(); }