31 lines
679 B
C++
31 lines
679 B
C++
#ifndef ENTITY_H
|
|
#define ENTITY_H
|
|
|
|
using coordinate = unsigned long;
|
|
|
|
/// Interface representing entity which can be placed on the map
|
|
class Entity
|
|
{
|
|
protected:
|
|
coordinate entity_row, entity_col;
|
|
|
|
public:
|
|
Entity(coordinate _row = 0, coordinate _col = 0);
|
|
|
|
virtual ~Entity() = 0;
|
|
|
|
/// Get current Entity position
|
|
void position(coordinate &row, coordinate &col) const noexcept;
|
|
|
|
/// Set Entity position explicitly
|
|
void setPosition(coordinate row, coordinate col);
|
|
|
|
/// Get current x of the Entity position
|
|
coordinate row() const noexcept;
|
|
|
|
/// Get current y of the Entity position
|
|
coordinate col() const noexcept;
|
|
};
|
|
|
|
#endif // ENTITY_H
|