Use default name

This commit is contained in:
Sofia 2026-07-23 22:12:20 +03:00
parent 812a3d69b1
commit b3f738296a
3 changed files with 26 additions and 5 deletions

View File

@ -10,6 +10,7 @@ use teanet::{Peer, PeerConfig, PeerMessage};
use crate::{ use crate::{
game_manager::{Game, GameManager, GameOption, GameOptionValue, NetPlayer}, game_manager::{Game, GameManager, GameOption, GameOptionValue, NetPlayer},
game_settings::GameSettingsManager,
net::{net_stats::Stats, util::NetVector3}, net::{net_stats::Stats, util::NetVector3},
player::{DamageSource, NetTransform}, player::{DamageSource, NetTransform},
popup_queue::{Popup, PopupQueue}, popup_queue::{Popup, PopupQueue},
@ -190,10 +191,16 @@ impl NetworkManager {
self.swap_to_lobby(true); self.swap_to_lobby(true);
let default_name = GameSettingsManager::singleton()
.bind()
.settings
.default_name
.clone();
if let Some(game) = &mut Game::singleton() { if let Some(game) = &mut Game::singleton() {
let id = game.bind_mut().new_player( let id = game.bind_mut().new_player(
SocketAddr::from(([0, 0, 0, 0], 0)), SocketAddr::from(([0, 0, 0, 0], 0)),
Some("Host".to_owned()), Some(default_name),
None, None,
); );
game.bind_mut().update_player_ready(id, true); game.bind_mut().update_player_ready(id, true);

View File

@ -1,10 +1,11 @@
use std::net::SocketAddr; use std::net::SocketAddr;
use godot::obj::Singleton; use godot::{global::godot_print, obj::Singleton};
use teanet::PeerMessage; use teanet::PeerMessage;
use crate::{ use crate::{
game_manager::{Game, GameManager, GameOption}, game_manager::{Game, GameManager, GameOption},
game_settings::GameSettingsManager,
net::network_manager::{NetworkManager, Package, PeerKind}, net::network_manager::{NetworkManager, Package, PeerKind},
popup_queue::{Popup, PopupQueue}, popup_queue::{Popup, PopupQueue},
ui::cli::{CliColor, CommandLinePanel}, ui::cli::{CliColor, CommandLinePanel},
@ -23,6 +24,12 @@ impl NetworkManager {
CliColor::Info, CliColor::Info,
); );
self.swap_to_lobby(false); self.swap_to_lobby(false);
let default_name = GameSettingsManager::singleton()
.bind()
.settings
.default_name
.clone();
self.update_nick(default_name.clone());
} }
teanet::PeerMessage::Disconnected(connection, connection_error) => { teanet::PeerMessage::Disconnected(connection, connection_error) => {
cli.bind_mut().publish_message( cli.bind_mut().publish_message(
@ -70,9 +77,7 @@ impl NetworkManager {
} }
Package::SetNick(id, nick) => { Package::SetNick(id, nick) => {
if let Some(game) = &mut Game::singleton() { if let Some(game) = &mut Game::singleton() {
if game.bind().self_id != Some(id) { game.bind_mut().update_player_nick(id, nick);
game.bind_mut().update_player_nick(id, nick);
}
} }
} }
Package::UpdatePings(pings) => { Package::UpdatePings(pings) => {

View File

@ -257,6 +257,15 @@ impl LobbyPanel {
} }
pub fn update_players(&mut self, replace: bool) { pub fn update_players(&mut self, replace: bool) {
if let Some(game) = &Game::singleton()
&& let Some(player) = game.bind().find_player(game.bind().self_id.unwrap_or(0))
&& let Some(name_label) = &mut self.name_field
{
if player.data.name != name_label.get_text().to_string() {
name_label.set_text(&player.data.name);
}
}
self.update_ready_button(); self.update_ready_button();
if let Some(list) = &mut self.players_list { if let Some(list) = &mut self.players_list {