Realign unit.h
This commit is contained in:
parent
f63dc8462f
commit
c38fb3dd41
1 changed files with 22 additions and 25 deletions
|
@ -18,24 +18,21 @@ class CUnit
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Factory function for creating units from a visual
|
// Factory function for creating units from a visual
|
||||||
static CUnit GetUnitFromVis( unitVis_c vis );
|
static CUnit GetUnitFromVis( unitVis_c vis );
|
||||||
|
|
||||||
// Unit <--> string conversion functions
|
// Unit <--> string conversion functions
|
||||||
static std::string GetStringFromUnit(const CUnit& unit );
|
static std::string GetStringFromUnit(const CUnit& unit );
|
||||||
static CUnit GetUnitFromString(const std::string& unit );
|
static CUnit GetUnitFromString(const std::string& unit );
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
CUnit();
|
CUnit();
|
||||||
|
|
||||||
// Move constructor and move assignment. CUnit cannot be copied
|
// Move constructor and move assignment. CUnit cannot be copied
|
||||||
CUnit(CUnit&& unit);
|
CUnit(CUnit&& unit);
|
||||||
CUnit& operator=(CUnit&& unit);
|
CUnit& operator=(CUnit&& unit);
|
||||||
|
|
||||||
bool operator==(const CUnit& rhs);
|
bool operator==(const CUnit& rhs);
|
||||||
bool operator!=(const CUnit& rhs) { return !(*this == rhs); }
|
bool operator!=(const CUnit& rhs) { return !(*this == rhs); }
|
||||||
|
|
||||||
// Default dtor
|
|
||||||
~CUnit() = default;
|
|
||||||
|
|
||||||
// Getters for all the members
|
// Getters for all the members
|
||||||
inline const unit_id_t& getID() const { return unit_id; }
|
inline const unit_id_t& getID() const { return unit_id; }
|
||||||
|
@ -45,44 +42,44 @@ public:
|
||||||
inline const uvector2& getPos() const { return pos; }
|
inline const uvector2& getPos() const { return pos; }
|
||||||
|
|
||||||
// Set
|
// Set
|
||||||
inline Team setTeam(const Team & v) { return (team_id = v); }
|
inline Team setTeam(const Team & v) { return (team_id = v); }
|
||||||
inline unitVis_c setVisual(const unitVis_c& v) { return ( unit_vis = v ); }
|
inline unitVis_c setVisual(const unitVis_c& v) { return ( unit_vis = v ); }
|
||||||
inline dir_t setDir(const dir_t& v) { return (dir = v); }
|
inline dir_t setDir(const dir_t& v) { return (dir = v); }
|
||||||
inline void setPos(const uvector2& v) { pos = v; }
|
inline void setPos(const uvector2& v) { pos = v; }
|
||||||
|
|
||||||
// Get the co-ordinate in front of the unit
|
// Get the co-ordinate in front of the unit
|
||||||
uvector2 getInFront() const;
|
uvector2 getInFront() const;
|
||||||
|
|
||||||
// Check unit is valid
|
// Check unit is valid
|
||||||
inline bool valid() const;
|
inline bool valid() const;
|
||||||
|
|
||||||
// Set a unit based solely on it's visual
|
// Set a unit based solely on it's visual
|
||||||
bool setFromVisual( const unitVis_c& vis);
|
bool setFromVisual( const unitVis_c& vis);
|
||||||
|
|
||||||
// Orientation methods
|
// Orientation methods
|
||||||
dir_t turnLeft();
|
dir_t turnLeft();
|
||||||
dir_t turnRight();
|
dir_t turnRight();
|
||||||
dir_t turnAround();
|
dir_t turnAround();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Update my visual must be called when setting direction
|
// Update my visual must be called when setting direction
|
||||||
unitVis_c updateMyVisual();
|
unitVis_c updateMyVisual();
|
||||||
|
|
||||||
// Unit ID
|
// Unit ID
|
||||||
unit_id_t unit_id;
|
unit_id_t unit_id;
|
||||||
|
|
||||||
// Visual
|
// Visual
|
||||||
unitVis_c unit_vis;
|
unitVis_c unit_vis;
|
||||||
|
|
||||||
// Team ID
|
// Team ID
|
||||||
Team team_id;
|
Team team_id;
|
||||||
|
|
||||||
// Direction
|
// Direction
|
||||||
dir_t dir;
|
dir_t dir;
|
||||||
|
|
||||||
// Position
|
// Position
|
||||||
uvector2 pos;
|
uvector2 pos;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Typedef for a vector of units
|
// Typedef for a vector of units
|
||||||
|
|
Loading…
Add table
Reference in a new issue