Various work towards a basic game implementation

Get rid of some virtual functions that weren't needed.
Fix some functions to work during static init if need be.
Units now have unique incremental IDs
This commit is contained in:
Marc Di Luzio 2014-12-16 13:13:00 +00:00
parent a6e1319fad
commit 008739dee6
6 changed files with 135 additions and 40 deletions

View file

@ -3,6 +3,25 @@
// Unit types
#include "unitv.h"
namespace
{
// Helper function for generating unique unit ids during static init
unit_id_t get_unique_unit_id()
{
static unit_id_t p = 0;
return p++;
}
}
CUnit::CUnit()
: unit_id ( get_unique_unit_id() )
, team_id ( team_id_invalid )
, player_id ( player_id_invalid )
, unit_vis ( unitVis_invalid )
{
};
std::unique_ptr<CUnit> CUnit::getUnitFromVis( unitVis_c vis )
{
switch( vis )