BWAPI
|
00001 #pragma once 00002 00003 namespace BWAPI 00004 { 00005 class Position; 00006 00007 // TODO: Add doxygen documentation 00008 class TilePosition 00009 { 00010 public : 00011 TilePosition(); 00012 explicit TilePosition(const Position& position); 00013 TilePosition(int x, int y); 00014 bool operator == (const TilePosition& TilePosition) const; 00015 bool operator != (const TilePosition& TilePosition) const; 00016 bool operator < (const TilePosition& TilePosition) const; 00017 bool isValid() const; 00018 operator bool() const; 00019 TilePosition operator+(const TilePosition& position) const; 00020 TilePosition operator-(const TilePosition& position) const; 00021 TilePosition& makeValid(); 00022 TilePosition& operator+=(const TilePosition& position); 00023 TilePosition& operator-=(const TilePosition& position); 00024 double getDistance(const TilePosition& position) const; 00025 double getLength() const; 00026 bool hasPath(const TilePosition& destination) const; 00027 int& x(); 00028 int& y(); 00029 int x() const; 00030 int y() const; 00031 private : 00032 int _x; 00033 int _y; 00034 }; 00035 namespace TilePositions 00036 { 00037 extern const TilePosition Invalid; 00038 extern const TilePosition None; 00039 extern const TilePosition Unknown; 00040 } 00041 }; 00042