BWAPI
|
00001 #pragma once 00002 #include "../StaticLocation.h" 00003 00004 // Watch out, there are apparently 3 types of coordinates: 00005 // - BWAPI::Position: (x,y) in pixels 00006 // - Small tiles: unit pathfinding? 00007 // - Big tiles: buildings? 00008 00009 class CoordinatesLocation : public Location 00010 { 00011 public: 00012 CoordinatesLocation(BWAPI::Position coordinates) 00013 : Location() 00014 , m_coordinates(coordinates) 00015 { 00016 assert(m_coordinates.isValid()); 00017 } 00018 00019 virtual BWAPI::Position getCurrentCenter() const 00020 { 00021 return m_coordinates; 00022 } 00023 00024 bool isInLocation(BWAPI::Position position) const 00025 { 00026 return m_coordinates == position; 00027 } 00028 protected: 00029 virtual void output(std::ostream& out) const 00030 { 00031 out << "Coordinates(" << m_coordinates << ")"; 00032 } 00033 00034 const BWAPI::Position m_coordinates; 00035 };