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