More cleanup and remove of unneeded functions

This commit is contained in:
Marc Di Luzio 2014-12-16 13:13:02 +00:00
parent 005896b13c
commit 4c439a383e
6 changed files with 27 additions and 84 deletions

View file

@ -2,7 +2,7 @@
#define _UNIT_H_
#include <string>
#include <memory>
#include <vector>
#include "gametypes.h"
#include "vector2.h"
@ -12,11 +12,17 @@ class CUnit
{
public:
// Constructor
CUnit();
// Move constructor and move asignement. CUnit cannot be copied
CUnit(CUnit&& unit);
CUnit& operator=(CUnit&& unit);
// Default dtor
~CUnit() = default;
// Getters for all the members
inline const unit_id_t& getID() const { return unit_id; }
inline const team_id_t& getTeam() const { return team_id; }
inline const player_id_t& getPlayer() const { return player_id; }
@ -27,6 +33,8 @@ public:
inline int setTeam(const team_id_t& v) { return (v == team_id_invalid) ? -1 : (( team_id = v ), 0); }
inline int setPlayer(const player_id_t& v) { return (v == player_id_invalid) ? -1 : (( player_id = v ), 0); }
inline int setVisual(const unitVis_c& v) { return (v == unitVis_invalid) ? -1 : (( unit_vis = v ), 0); }
// Set unit direction
inline dir_t setDir(const dir_t& v) { return (dir = v); }
inline const uvector2& getPos() const { return pos; }
@ -44,18 +52,15 @@ public:
// Factory function for creating units from a visual
static CUnit getUnitFromVis( unitVis_c vis );
// Orientation methods
dir_t turnLeft();
dir_t turnRight();
dir_t turnAround();
protected:
private:
// Update the visual of V
unitVis_c updateMyVisual();
// Update my visual must be called when setting direction
unitVis_c updateMyVisual();
// Unit ID
unit_id_t unit_id;
@ -76,6 +81,9 @@ private:
uvector2 pos;
};
// Typedef for a vector of units
typedef std::vector< CUnit > CUnitVector;
// Simple validation
inline bool CUnit::valid() const
{