19 #ifndef WB_MAPBUILDER_HPP_
20 #define WB_MAPBUILDER_HPP_
24 #include <boost/ptr_container/ptr_vector.hpp>
71 boost::ptr_vector<temporary_unit_remover>
removers_;
container::iterator iterator
void process(side_actions &sa, side_actions::iterator action_it)
Function called on each action.
std::set< unit const * > acted_this_turn_
boost::ptr_vector< temporary_unit_remover > removers_
std::set< unit const * > has_invalid_actions_
void restore_normal_map()
void pre_build()
Does various preliminary actions on the unit map such as resetting moves for some units...
boost::ptr_vector< unit_movement_resetter > resetters_
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...
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.
This internal whiteboard class holds the planned action queues for a team, and offers many utility me...
void post_visit_team(size_t turn)
Function called after visiting a team.