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 TilePosition operator+(const TilePosition& position) const; 00019 TilePosition operator-(const TilePosition& position) const; 00020 TilePosition& makeValid(); 00021 TilePosition& operator+=(const TilePosition& position); 00022 TilePosition& operator-=(const TilePosition& position); 00023 double getDistance(const TilePosition& position) const; 00024 double getLength() const; 00025 bool hasPath(const TilePosition& destination) const; 00026 int& x(); 00027 int& y(); 00028 int x() const; 00029 int y() const; 00030 private : 00031 int _x; 00032 int _y; 00033 }; 00034 namespace TilePositions 00035 { 00036 extern const TilePosition Invalid; 00037 extern const TilePosition None; 00038 extern const TilePosition Unknown; 00039 } 00040 }; 00041