Implement conversion of Unit to String and back
This commit is contained in:
parent
7a75fbd369
commit
b77411121a
6 changed files with 188 additions and 31 deletions
23
game/unit.h
23
game/unit.h
|
@ -15,16 +15,19 @@ public:
|
|||
// Constructor
|
||||
CUnit();
|
||||
|
||||
// Move constructor and move asignement. CUnit cannot be copied
|
||||
// Move constructor and move assignment. CUnit cannot be copied
|
||||
CUnit(CUnit&& unit);
|
||||
CUnit& operator=(CUnit&& unit);
|
||||
|
||||
bool operator==(const CUnit& rhs);
|
||||
bool operator!=(const CUnit& rhs) { return !(*this == rhs); }
|
||||
|
||||
// Default dtor
|
||||
~CUnit() = default;
|
||||
|
||||
// Getters for all the members
|
||||
inline const unit_id_t& getID() const { return unit_id; }
|
||||
inline const Team & getTeam() const { return team_id; }
|
||||
inline const Team & getTeam() const { return team_id; }
|
||||
inline const player_id_t& getPlayer() const { return player_id; }
|
||||
inline const unitVis_c& getVisual() const { return unit_vis; }
|
||||
inline const dir_t& getDir() const { return dir; }
|
||||
|
@ -39,6 +42,9 @@ public:
|
|||
inline const uvector2& getPos() const { return pos; }
|
||||
inline void setPos(const uvector2& v) { pos = v; }
|
||||
|
||||
|
||||
inline const unit_id_t& setIDForced(const unit_id_t& v) { return (unit_id = v); }
|
||||
|
||||
// Get the co-ordinate infront of the unit
|
||||
uvector2 getInFront() const;
|
||||
|
||||
|
@ -48,9 +54,6 @@ public:
|
|||
// Set a unit based solely on it's visual
|
||||
bool setFromVisual( const unitVis_c& vis);
|
||||
|
||||
// Factory function for creating units from a visual
|
||||
static CUnit getUnitFromVis( unitVis_c vis );
|
||||
|
||||
// Orientation methods
|
||||
dir_t turnLeft();
|
||||
dir_t turnRight();
|
||||
|
@ -92,4 +95,14 @@ inline bool CUnit::valid() const
|
|||
&& (unit_vis != unitVis_invalid);
|
||||
}
|
||||
|
||||
|
||||
// Factory function for creating units from a visual
|
||||
CUnit GetUnitFromVis( unitVis_c vis );
|
||||
|
||||
// Units strings stored as
|
||||
// "U:[unit_id] T:[team_id] P:[player_id] V:[unit_vis] D:[dir] POS:[pos.x],[pos.y]"
|
||||
// Unit <--> string conversion functions
|
||||
std::string GetStringFromUnit(const CUnit& unit );
|
||||
CUnit GetUnitFromString(const std::string& unit );
|
||||
|
||||
#endif //_UNIT_H_
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue