BWAPI
SPAR/AIModule/SparAIModule/PerceptualState/Unit/NeutralUnit.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "UnitLocationData.h"
00003 
00007 class NeutralUnit : public ForeignUnit
00008 {
00009 public:
00010   NeutralUnit(BWAPI::Unit* unit, PrimitiveLocation* location)
00011     : ForeignUnit(unit, location)
00012   {
00013     assert(unit->getPlayer() == BWAPI::Broodwar->neutral());
00014   }
00015 
00016   friend std::ostream& operator<<(std::ostream& out, const NeutralUnit& neutralUnit)
00017   {
00018     if (neutralUnit.isAccessible())
00019     {
00020       BWAPI::Unit* unit = neutralUnit.getUnit();
00021       out << "Neutral unit (0x" << std::nouppercase << std::hex << unit << std::dec << ") " << unit->getType().getName() << ", hit points " << unit->getHitPoints();
00022     }
00023     else
00024     {
00025       const NeutralUnit::SavedState& state = neutralUnit.getLastKnownState();
00026       out << "Neutral saved unit (0x" << std::nouppercase << std::hex << neutralUnit.m_unit << std::dec << ") " << state.getType().getName() << ", hit points " << state.getHitPoints();
00027     }
00028     return out;
00029   }
00030 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines