added a reference to the teams vector to class unit...

...(in preparation of gamestatus removal)
This commit is contained in:
Eugen Jiresch 2009-06-11 14:47:52 +00:00
parent 78462e95df
commit 110de07518
2 changed files with 9 additions and 3 deletions

View file

@ -163,12 +163,13 @@ unit::unit(const unit& o):
units_(o.units_), units_(o.units_),
map_(o.map_), map_(o.map_),
gamestatus_(o.gamestatus_), gamestatus_(o.gamestatus_),
teams_(o.teams_),
invisibility_cache_() invisibility_cache_()
{ {
} }
unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status, unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status,
const std::vector<team>* /*teams*/,const config& cfg, const std::vector<team>* teams,const config& cfg,
bool use_traits, game_state* state) : bool use_traits, game_state* state) :
cfg_(), cfg_(),
advances_to_(), advances_to_(),
@ -238,6 +239,7 @@ unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status,
units_(unitmap), units_(unitmap),
map_(map), map_(map),
gamestatus_(game_status), gamestatus_(game_status),
teams_(teams),
invisibility_cache_() invisibility_cache_()
{ {
read(cfg, use_traits, state); read(cfg, use_traits, state);
@ -318,6 +320,7 @@ unit::unit(const config& cfg,bool use_traits) :
units_(NULL), units_(NULL),
map_(NULL), map_(NULL),
gamestatus_(NULL), gamestatus_(NULL),
teams_(NULL),
invisibility_cache_() invisibility_cache_()
{ {
read(cfg,use_traits); read(cfg,use_traits);
@ -356,7 +359,7 @@ unit_race::GENDER unit::generate_gender(const unit_type& type, bool gen, game_st
} }
unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status, unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status,
const std::vector<team>* /*teams*/, const unit_type* t, int side, const std::vector<team>* teams, const unit_type* t, int side,
bool use_traits, bool dummy_unit, unit_race::GENDER gender, std::string variation, bool force_gender) : bool use_traits, bool dummy_unit, unit_race::GENDER gender, std::string variation, bool force_gender) :
cfg_(), cfg_(),
advances_to_(), advances_to_(),
@ -426,6 +429,7 @@ unit::unit(unit_map* unitmap, const gamemap* map, const gamestatus* game_status,
units_(unitmap), units_(unitmap),
map_(map), map_(map),
gamestatus_(game_status), gamestatus_(game_status),
teams_(teams),
invisibility_cache_() invisibility_cache_()
{ {
cfg_["upkeep"]="full"; cfg_["upkeep"]="full";
@ -584,11 +588,12 @@ unit& unit::operator=(const unit& u)
void unit::set_game_context(unit_map* unitmap, const gamemap* map, const gamestatus* game_status, const std::vector<team>* /*teams*/) void unit::set_game_context(unit_map* unitmap, const gamemap* map, const gamestatus* game_status, const std::vector<team>* teams)
{ {
units_ = unitmap; units_ = unitmap;
map_ = map; map_ = map;
gamestatus_ = game_status; gamestatus_ = game_status;
teams_ = teams;
// In case the unit carries EventWML, apply it now // In case the unit carries EventWML, apply it now
game_events::add_events(cfg_.child_range("event"), type_); game_events::add_events(cfg_.child_range("event"), type_);

View file

@ -458,6 +458,7 @@ private:
const unit_map* units_; const unit_map* units_;
const gamemap* map_; const gamemap* map_;
const gamestatus* gamestatus_; const gamestatus* gamestatus_;
const std::vector<team>* teams_;
/** Hold the visibility status cache for a unit, mutable since it's a cache. */ /** Hold the visibility status cache for a unit, mutable since it's a cache. */
mutable std::map<map_location, bool> invisibility_cache_; mutable std::map<map_location, bool> invisibility_cache_;