@@ -556,6 +556,8 @@ GameSession::update(float dt_sec, const Controller& controller)
556
556
557
557
check_end_conditions ();
558
558
559
+ auto players = m_currentsector->get_players ();
560
+
559
561
// Respawning in new sector?
560
562
if (!m_newsector.empty () && !m_newspawnpoint.empty () && (m_spawn_fade_timer.check () || m_spawn_fade_type == ScreenFade::FadeType::NONE)) {
561
563
auto sector = m_level->get_sector (m_newsector);
@@ -595,8 +597,7 @@ GameSession::update(float dt_sec, const Controller& controller)
595
597
break ;
596
598
}
597
599
598
-
599
- for (auto * p : m_currentsector->get_players ())
600
+ for (auto * p : players)
600
601
{
601
602
// Give back control to the player
602
603
p->activate ();
@@ -626,7 +627,7 @@ GameSession::update(float dt_sec, const Controller& controller)
626
627
m_level->m_stats .finish (m_play_time);
627
628
}
628
629
629
- for (Player* player : m_currentsector-> get_players () )
630
+ for (Player* player : players )
630
631
{
631
632
if (player->is_active () && player->is_scripting_activated () &&
632
633
player->get_controller ().pressed (Control::ITEM) &&
@@ -641,7 +642,7 @@ GameSession::update(float dt_sec, const Controller& controller)
641
642
} else {
642
643
bool are_all_stopped = true ;
643
644
644
- for (const auto & player : m_currentsector-> get_players () )
645
+ for (const auto & player : players )
645
646
{
646
647
if (!(m_end_sequence->is_tux_stopped (player->get_id ())
647
648
|| player->get_ending_direction () == 0 ))
@@ -672,7 +673,7 @@ GameSession::update(float dt_sec, const Controller& controller)
672
673
bool invincible_timer_started = false ;
673
674
float max_invincible_timer_left = 0 .f ;
674
675
675
- for (const auto * p : m_currentsector-> get_players () )
676
+ for (const auto * p : players )
676
677
{
677
678
invincible_timer_started |= (p->m_invincible_timer .started () && !p->is_winning ());
678
679
max_invincible_timer_left = std::max (max_invincible_timer_left, p->m_invincible_timer .get_timeleft ());
0 commit comments