mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-06 22:01:31 +00:00
cleanup for loops made ugly in previous commit
This is a strict refactor.
This commit is contained in:
parent
5718992f9a
commit
5fa083680e
@ -684,9 +684,9 @@ void play_controller::do_init_side(bool is_replay, bool only_visual) {
|
||||
// Healing/income happen if it's not the first turn of processing,
|
||||
// or if we are loading a game.
|
||||
if (!only_visual && turn() > 1) {
|
||||
for(unit_map::iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) {
|
||||
if (i->side() == player_number_) {
|
||||
i->new_turn();
|
||||
BOOST_FOREACH(unit & i, gameboard_.units_) {
|
||||
if (i.side() == player_number_) {
|
||||
i.new_turn();
|
||||
}
|
||||
}
|
||||
|
||||
@ -753,20 +753,19 @@ config play_controller::to_config() const
|
||||
|
||||
{
|
||||
//current visible units
|
||||
for(unit_map::const_iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) {
|
||||
if (i->side() == side_num) {
|
||||
BOOST_FOREACH(const unit & i, gameboard_.units_) {
|
||||
if (i.side() == side_num) {
|
||||
config& u = side.add_child("unit");
|
||||
i->get_location().write(u);
|
||||
i->write(u);
|
||||
i.get_location().write(u);
|
||||
i.write(u);
|
||||
}
|
||||
}
|
||||
}
|
||||
//recall list
|
||||
{
|
||||
for(std::vector<unit>::const_iterator j = t->recall_list().begin();
|
||||
j != t->recall_list().end(); ++j) {
|
||||
BOOST_FOREACH(const unit & j, t->recall_list()) {
|
||||
config& u = side.add_child("unit");
|
||||
j->write(u);
|
||||
j.write(u);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -802,9 +801,10 @@ void play_controller::finish_side_turn(){
|
||||
|
||||
resources::whiteboard->on_finish_side_turn(player_number_);
|
||||
|
||||
for(unit_map::iterator uit = gameboard_.units_.begin(); uit != gameboard_.units_.end(); ++uit) {
|
||||
if (uit->side() == player_number_)
|
||||
uit->end_turn();
|
||||
BOOST_FOREACH(unit & uit, gameboard_.units_) {
|
||||
if (uit.side() == player_number_) {
|
||||
uit.end_turn();
|
||||
}
|
||||
}
|
||||
// Clear shroud, in case units had been slowed for the turn.
|
||||
actions::clear_shroud(player_number_);
|
||||
@ -849,9 +849,11 @@ bool play_controller::enemies_visible() const
|
||||
return true;
|
||||
|
||||
// See if any enemies are visible
|
||||
for(unit_map::const_iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u)
|
||||
if (current_team().is_enemy(u->side()) && !gui_->fogged(u->get_location()))
|
||||
BOOST_FOREACH(const unit & u, gameboard_.units_) {
|
||||
if (current_team().is_enemy(u.side()) && !gui_->fogged(u.get_location())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -1399,20 +1401,17 @@ void play_controller::check_victory()
|
||||
}
|
||||
std::set<unsigned> not_defeated;
|
||||
|
||||
for (unit_map::const_iterator i = gameboard_.units_.begin(),
|
||||
i_end = gameboard_.units_.end(); i != i_end; ++i)
|
||||
BOOST_FOREACH( const unit & i , gameboard_.units_)
|
||||
{
|
||||
const team& tm = gameboard_.teams_[i->side()-1];
|
||||
if (i->can_recruit() && tm.defeat_condition() == team::NO_LEADER) {
|
||||
//DBG_NG << "seen leader for side " << i->side() << "\n";
|
||||
not_defeated.insert(i->side());
|
||||
const team& tm = gameboard_.teams_[i.side()-1];
|
||||
if (i.can_recruit() && tm.defeat_condition() == team::NO_LEADER) {
|
||||
not_defeated.insert(i.side());
|
||||
} else if (tm.defeat_condition() == team::NO_UNITS) {
|
||||
//DBG_NG << "side doesn't require leader " << i->side() << "\n";
|
||||
not_defeated.insert(i->side());
|
||||
not_defeated.insert(i.side());
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_FOREACH(team& tm, this->gameboard_.teams_)
|
||||
BOOST_FOREACH(team& tm, gameboard_.teams_)
|
||||
{
|
||||
if(tm.defeat_condition() == team::NEVER)
|
||||
{
|
||||
|
@ -550,13 +550,12 @@ LEVEL_RESULT playsingle_controller::play_scenario(
|
||||
|
||||
// Add all the units that survived the scenario.
|
||||
LOG_NG << "Add units that survived the scenario to the recall list.\n";
|
||||
for(unit_map::iterator un = gameboard_.units_.begin(); un != gameboard_.units_.end(); ++un) {
|
||||
|
||||
if (gameboard_.teams_[un->side() - 1].persistent()) {
|
||||
LOG_NG << "Added unit " << un->id() << ", " << un->name() << "\n";
|
||||
un->new_turn();
|
||||
un->new_scenario();
|
||||
gameboard_.teams_[un->side() - 1].recall_list().push_back(*un);
|
||||
BOOST_FOREACH (unit & un, gameboard_.units_) {
|
||||
if (gameboard_.teams_[un.side() - 1].persistent()) {
|
||||
LOG_NG << "Added unit " << un.id() << ", " << un.name() << "\n";
|
||||
un.new_turn();
|
||||
un.new_scenario();
|
||||
gameboard_.teams_[un.side() - 1].recall_list().push_back(un);
|
||||
}
|
||||
}
|
||||
gamestate_.snapshot = config();
|
||||
@ -845,8 +844,8 @@ void playsingle_controller::linger()
|
||||
gui_->redraw_everything();
|
||||
|
||||
// End all unit moves
|
||||
for (unit_map::iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u) {
|
||||
u->set_user_end_turn(true);
|
||||
BOOST_FOREACH (unit & u, gameboard_.units_) {
|
||||
u.set_user_end_turn(true);
|
||||
}
|
||||
try {
|
||||
// Same logic as single-player human turn, but
|
||||
|
@ -124,8 +124,8 @@ void replay_controller::init_gui(){
|
||||
|
||||
gui_->scroll_to_leader(gameboard_.units_, player_number_, display::WARP);
|
||||
update_locker lock_display((*gui_).video(),false);
|
||||
for(std::vector<team>::iterator t = gameboard_.teams_.begin(); t != gameboard_.teams_.end(); ++t) {
|
||||
t->reset_objectives_changed();
|
||||
BOOST_FOREACH(team & t, gameboard_.teams_) {
|
||||
t.reset_objectives_changed();
|
||||
}
|
||||
|
||||
update_replay_ui();
|
||||
|
Loading…
x
Reference in New Issue
Block a user