From 3980439a91adb5adbe4bab5f9aedb734043e46ab Mon Sep 17 00:00:00 2001 From: Sofia Date: Thu, 23 Jul 2026 19:48:25 +0300 Subject: [PATCH] Improve how popups appear --- rust/src/net/network_manager.rs | 9 ++++++++- rust/src/ui/main_menu.rs | 31 ------------------------------- 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/rust/src/net/network_manager.rs b/rust/src/net/network_manager.rs index 6b9b119..da4dae7 100644 --- a/rust/src/net/network_manager.rs +++ b/rust/src/net/network_manager.rs @@ -12,6 +12,7 @@ use crate::{ game_manager::{Game, GameManager, GameOption, GameOptionValue, NetPlayer}, net::{net_stats::Stats, util::NetVector3}, player::{DamageSource, NetTransform}, + popup_queue::{Popup, PopupQueue}, ui::cli::{CliColor, CommandLinePanel}, weapon::WeaponType, }; @@ -205,7 +206,13 @@ impl NetworkManager { self.run_deferred(move |s| { s.signals() .on_error_hosting_server() - .emit(&format!("{}", err)) + .emit(&format!("{}", err)); + + PopupQueue::singleton().bind_mut().queue(Popup { + title: "Error hosting server".to_owned(), + message: err.to_string(), + ok: true, + }); }); } } diff --git a/rust/src/ui/main_menu.rs b/rust/src/ui/main_menu.rs index 8f2d5f7..cff94e3 100644 --- a/rust/src/ui/main_menu.rs +++ b/rust/src/ui/main_menu.rs @@ -64,37 +64,6 @@ pub struct MainMenu { impl INode3D for MainMenu { fn ready(&mut self) { self.hide_popup(); - - NetworkManager::singleton() - .bind_mut() - .signals() - .on_client_disconnected() - .connect_other(self, |_, msg| { - if msg.is_empty() { - PopupQueue::singleton().bind_mut().queue(Popup { - title: "Disconnected".to_owned(), - message: "disconnected".to_owned(), - ok: true, - }); - } else { - PopupQueue::singleton().bind_mut().queue(Popup { - title: "Error".to_owned(), - message: msg.to_string(), - ok: true, - }); - } - }); - NetworkManager::singleton() - .bind_mut() - .signals() - .on_error_hosting_server() - .connect_other(self, |_, msg| { - PopupQueue::singleton().bind_mut().queue(Popup { - title: "Error hosting server".to_owned(), - message: msg.to_string(), - ok: true, - }); - }); } fn process(&mut self, _delta: f64) {