This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
BWMirror-Generator/c/BWAPI/TilePosition.h

43 lines
1.2 KiB
C
Raw Normal View History

2014-08-05 04:43:14 -04:00
#pragma once
namespace BWAPI
{
class Position;
// TODO: Add doxygen documentation
class TilePosition
{
public :
TilePosition();
explicit TilePosition(const Position& position);
TilePosition(int x, int y);
bool operator == (const TilePosition& TilePosition) const;
bool operator != (const TilePosition& TilePosition) const;
bool operator < (const TilePosition& TilePosition) const;
bool isValid() const;
operator bool() const;
TilePosition operator+(const TilePosition& position) const;
TilePosition operator-(const TilePosition& position) const;
TilePosition& makeValid();
TilePosition& operator+=(const TilePosition& position);
TilePosition& operator-=(const TilePosition& position);
double getDistance(const TilePosition& position) const;
double getLength() const;
bool hasPath(const TilePosition& destination) const;
int& x();
int& y();
int x() const;
int y() const;
private :
int _x;
int _y;
};
namespace TilePositions
{
extern const TilePosition Invalid;
extern const TilePosition None;
extern const TilePosition Unknown;
}
};