Add new prints useful to headless server
This commit is contained in:
parent
791c879a13
commit
30b64ab475
@ -29,7 +29,9 @@ impl Chat {
|
|||||||
pub fn new_message(&mut self, message: ChatMessage) {
|
pub fn new_message(&mut self, message: ChatMessage) {
|
||||||
self.messages.len() as i64;
|
self.messages.len() as i64;
|
||||||
self.messages.push(message.clone());
|
self.messages.push(message.clone());
|
||||||
self.run_deferred(move |s| s.signals().on_new_message().emit(&message.as_label()));
|
let label = message.as_label();
|
||||||
|
godot_print_rich!("{}", label.get_text());
|
||||||
|
self.run_deferred(move |s| s.signals().on_new_message().emit(&label));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ use crate::{
|
|||||||
},
|
},
|
||||||
replay::{ReplayEvent, ReplayPlayback, ReplayRecorder},
|
replay::{ReplayEvent, ReplayPlayback, ReplayRecorder},
|
||||||
team_resource::TeamResource,
|
team_resource::TeamResource,
|
||||||
ui::cli::CommandLinePanel,
|
ui::cli::{CliColor, CommandLinePanel},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub mod commands;
|
pub mod commands;
|
||||||
@ -352,7 +352,9 @@ impl Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn start_playback(&mut self, time_delta: f64, spectated_id: u16) {
|
pub fn start_playback(&mut self, time_delta: f64, spectated_id: u16) {
|
||||||
if let Some(recorder) = &self.replay_recorder {
|
if let Some(recorder) = &self.replay_recorder
|
||||||
|
&& self.self_id.is_some()
|
||||||
|
{
|
||||||
let mut playback = ReplayPlayback::new_alloc();
|
let mut playback = ReplayPlayback::new_alloc();
|
||||||
|
|
||||||
let frame = recorder
|
let frame = recorder
|
||||||
@ -409,6 +411,11 @@ impl Game {
|
|||||||
|
|
||||||
pub fn start_game(&mut self) {
|
pub fn start_game(&mut self) {
|
||||||
self.game_started = true;
|
self.game_started = true;
|
||||||
|
|
||||||
|
CommandLinePanel::singleton()
|
||||||
|
.bind_mut()
|
||||||
|
.publish_message("Game started".to_owned(), CliColor::Info);
|
||||||
|
|
||||||
if let Some(map) = &self.selected_map {
|
if let Some(map) = &self.selected_map {
|
||||||
if let Some(scene) = &map.bind().scene {
|
if let Some(scene) = &map.bind().scene {
|
||||||
self.base().get_tree().change_scene_to_packed(scene);
|
self.base().get_tree().change_scene_to_packed(scene);
|
||||||
@ -430,9 +437,11 @@ impl Game {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let recorder = ReplayRecorder::new_alloc();
|
if self.self_id.is_some() {
|
||||||
self.replay_recorder = Some(recorder.clone());
|
let recorder = ReplayRecorder::new_alloc();
|
||||||
self.base_mut().add_child(&recorder);
|
self.replay_recorder = Some(recorder.clone());
|
||||||
|
self.base_mut().add_child(&recorder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn reset_game(&mut self) {
|
pub fn reset_game(&mut self) {
|
||||||
@ -656,6 +665,11 @@ impl Game {
|
|||||||
.unwrap_or(0);
|
.unwrap_or(0);
|
||||||
|
|
||||||
self.try_set_player_team(id, team_with_least as u8);
|
self.try_set_player_team(id, team_with_least as u8);
|
||||||
|
|
||||||
|
CommandLinePanel::singleton()
|
||||||
|
.bind_mut()
|
||||||
|
.publish_message(format!("Player joined: {}", addr), CliColor::Info);
|
||||||
|
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -683,6 +697,17 @@ impl Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn remove_player(&mut self, id: u16) {
|
pub fn remove_player(&mut self, id: u16) {
|
||||||
|
if let Some(player) = self.find_player(id) {
|
||||||
|
CommandLinePanel::singleton().bind_mut().publish_message(
|
||||||
|
format!(
|
||||||
|
"Player {} disconnected ({})",
|
||||||
|
player.id(),
|
||||||
|
player.connection_addr
|
||||||
|
),
|
||||||
|
CliColor::Info,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(player) = self.find_player_mut(id)
|
if let Some(player) = self.find_player_mut(id)
|
||||||
&& let Some(mut character) = player.character.take()
|
&& let Some(mut character) = player.character.take()
|
||||||
{
|
{
|
||||||
@ -697,6 +722,14 @@ impl Game {
|
|||||||
|
|
||||||
pub fn update_player_nick(&mut self, player_id: u16, nick: String) {
|
pub fn update_player_nick(&mut self, player_id: u16, nick: String) {
|
||||||
if let Some(player) = self.players.iter_mut().find(|p| p.id() == player_id) {
|
if let Some(player) = self.players.iter_mut().find(|p| p.id() == player_id) {
|
||||||
|
CommandLinePanel::singleton().bind_mut().publish_message(
|
||||||
|
format!(
|
||||||
|
"Player nick changed {} -> {} ({})",
|
||||||
|
player.data.name, nick, player.connection_addr
|
||||||
|
),
|
||||||
|
CliColor::Info,
|
||||||
|
);
|
||||||
|
|
||||||
player.data.name = nick;
|
player.data.name = nick;
|
||||||
}
|
}
|
||||||
self.run_deferred(|s| s.signals().on_players_updated().emit());
|
self.run_deferred(|s| s.signals().on_players_updated().emit());
|
||||||
@ -908,6 +941,17 @@ impl Game {
|
|||||||
self.stop_playback();
|
self.stop_playback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Some(player) = self.find_player(id) {
|
||||||
|
CommandLinePanel::singleton().bind_mut().publish_message(
|
||||||
|
format!(
|
||||||
|
"Player spawned {} ({})",
|
||||||
|
player.id(),
|
||||||
|
player.connection_addr
|
||||||
|
),
|
||||||
|
CliColor::Info,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(player) = self.find_player(id)
|
if let Some(player) = self.find_player(id)
|
||||||
&& let Some(mut character) = player.character.clone()
|
&& let Some(mut character) = player.character.clone()
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user