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