BWAPI
SPAR/AIModule/SparAIModule/PerceptualState/Unit/OwnUnit.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "UnitLocationData.h"
00003 
00007 class OwnUnit : public UnitLocationData
00008 {
00009 public:
00010   OwnUnit(BWAPI::Unit* unit, PrimitiveLocation* location)
00011     : UnitLocationData(unit, location)
00012   {
00013     assert(unit->getPlayer() == BWAPI::Broodwar->self());
00014   }
00015   BWAPI::Unit* getUnit() const { return m_unit; }
00016   bool isAccessible() const { return true; }
00017   void markAsAccessible() {}
00018   void markAsInaccessible() {}
00019 
00020   BWAPI::UnitType getLastType() const { return m_unit->getType(); }
00021   BWAPI::UnitType getType() const { return m_unit->getType(); }
00022   BWAPI::TilePosition getTilePosition() const { return m_unit->getTilePosition(); }
00023   BWAPI::Position getPosition() const { return m_unit->getPosition(); }
00024   bool isCompleted() const { return m_unit->isCompleted(); }
00025   bool isBeingConstructed() const { return m_unit->isBeingConstructed(); }
00026 
00027   friend std::ostream& operator<<(std::ostream& out, const OwnUnit& ownUnit)
00028   {
00029     BWAPI::Unit* unit = ownUnit.getUnit();
00030     out << "Own unit (0x" << std::nouppercase << std::hex << unit << std::dec << ") " << unit->getType().getName() << ", hit points " << unit->getHitPoints();
00031     return out;
00032   }
00033 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines