File tree Expand file tree Collapse file tree 4 files changed +17
-5
lines changed
Expand file tree Collapse file tree 4 files changed +17
-5
lines changed Original file line number Diff line number Diff line change @@ -38,9 +38,6 @@ void SceneLobby::OnCreate() {
3838}
3939
4040void SceneLobby::OnActivate () {
41- if (status_ == LobbyStatus::kIn ) {
42- return managers_.scenes ->GoToScene <SceneGame>();
43- }
4441 WaitAsync ();
4542}
4643
@@ -138,3 +135,12 @@ void SceneLobby::UpdateStatusText() {
138135 return ;
139136 }
140137}
138+ void SceneLobby::OnDeactivate () {
139+ if (joiningThread_ && joiningThread_->joinable ()) {
140+ joiningThread_->join ();
141+ }
142+ joiningThread_.reset ();
143+ status_ = LobbyStatus::kNone ;
144+ mainMessage_ = " " ;
145+ secondaryMessage_ = " " ;
146+ }
Original file line number Diff line number Diff line change @@ -32,6 +32,8 @@ class SceneLobby final : public SceneBase {
3232
3333 void OnActivate () override ;
3434
35+ void OnDeactivate () override ;
36+
3537 private:
3638 /* *
3739 * @brief Create the title
Original file line number Diff line number Diff line change @@ -237,13 +237,14 @@ void SceneStart::CreateBackButton() {
237237}
238238
239239void SceneStart::UpdateSelects () {
240- if (roomsService_->GetLastRefreshTime () <= lastRefreshTime_) {
240+ auto last_node_id = selectedNode_;
241+ UpdateSelectedNode ();
242+ if (roomsService_->GetLastRefreshTime () <= lastRefreshTime_ && last_node_id == selectedNode_) {
241243 return ;
242244 }
243245 lastRefreshTime_ = roomsService_->GetLastRefreshTime ();
244246 auto rooms = roomsService_->GetRooms ();
245247 Select::Update (registry_, GetNodeSelectProps (rooms));
246- UpdateSelectedNode ();
247248 Select::Update (registry_, GetRoomsSelectProps (rooms, selectedNode_));
248249}
249250
Original file line number Diff line number Diff line change @@ -139,5 +139,8 @@ class SceneStart final : public SceneBase {
139139
140140 // / @Selected node
141141 std::optional<services::RoomsService::NodeIdType> selectedNode_;
142+
143+ // / @Last selected node
144+ std::optional<std::string> lastSelectedNodeStrId_;
142145};
143146} // namespace rtype::client::scenes
You can’t perform that action at this time.
0 commit comments