Realign unit.h

This commit is contained in:
mdiluzio 2014-12-21 10:41:06 +00:00
parent f63dc8462f
commit c38fb3dd41

View file

@ -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