BWAPI
|
00001 #pragma once 00002 #include "UnitLocationData.h" 00003 00007 class EnemyUnit : public ForeignUnit 00008 { 00009 public: 00010 EnemyUnit(BWAPI::Unit* unit, PrimitiveLocation* location) 00011 : ForeignUnit(unit, location) 00012 { 00013 assert(unit->getPlayer()->isEnemy(BWAPI::Broodwar->self())); 00014 } 00015 00016 friend std::ostream& operator<<(std::ostream& out, const EnemyUnit& enemyUnit) 00017 { 00018 if (enemyUnit.isAccessible()) 00019 { 00020 BWAPI::Unit* unit = enemyUnit.getUnit(); 00021 out << "Enemy unit (0x" << std::nouppercase << std::hex << unit << std::dec << ") " << unit->getType().getName() << ", hit points " << unit->getHitPoints(); 00022 } 00023 else 00024 { 00025 const EnemyUnit::SavedState& state = enemyUnit.getLastKnownState(); 00026 out << "Enemy saved unit (0x" << std::nouppercase << std::hex << enemyUnit.m_unit << std::dec << ") " << state.getType().getName() << ", hit points " << state.getHitPoints(); 00027 } 00028 return out; 00029 } 00030 };