69 std::vector<std::unique_ptr<unit_movement_resetter>>
resetters_;
70 std::vector<std::unique_ptr<temporary_unit_remover>>
removers_;
container::iterator iterator
std::set< unit const * > acted_this_turn_
std::set< unit const * > has_invalid_actions_
std::vector< std::unique_ptr< unit_movement_resetter > > resetters_
void process(side_actions &sa, side_actions::iterator action_it, bool is_local_side)
Function called on each action.
void restore_normal_map()
void pre_build()
Does various preliminary actions on the unit map such as resetting moves for some units...
Object which temporarily resets a unit's movement.
mapbuilder(unit_map &unit_map)
action_queue applied_actions_
This object is used to temporary remove a unit from the unit map.
std::list< side_actions::iterator > invalid_actions_
Conserved invalid actions.
Class that collects and applies unit_map modifications from the actions it visits and reverts all cha...
void post_visit_team(std::size_t turn)
Function called after visiting a team.
action_queue applied_actions_this_turn_
Container associating units to locations.
std::deque< action_ptr > action_queue
void build_map()
Builds every team's actions as far into the future as possible, in the correct order.
std::vector< std::unique_ptr< temporary_unit_remover > > removers_
This internal whiteboard class holds the planned action queues for a team, and offers many utility me...