Make sure chat messages always remain
This commit is contained in:
parent
c44b419f9f
commit
f9593454ce
@ -37,7 +37,7 @@ impl Chat {
|
||||
pub enum ChatMessage {
|
||||
Death(DamageSource, u16),
|
||||
Announcement(u16, Announcement),
|
||||
ChatMessage(u16, String),
|
||||
ChatMessage(String, Color, String),
|
||||
}
|
||||
|
||||
impl ChatMessage {
|
||||
@ -79,15 +79,13 @@ impl ChatMessage {
|
||||
label.append_text(&format!("[color=red]{}[/color]", what));
|
||||
}
|
||||
}
|
||||
ChatMessage::ChatMessage(player_id, message) => {
|
||||
if let Some(game) = Game::singleton()
|
||||
&& let Some(player) = game.bind().find_player(*player_id)
|
||||
{
|
||||
add_player(&mut label, &player);
|
||||
ChatMessage::ChatMessage(name, color, message) => {
|
||||
label.push_color(*color);
|
||||
label.add_text(&format!("{}: ", name));
|
||||
label.pop();
|
||||
label.add_text(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
label
|
||||
}
|
||||
}
|
||||
|
||||
@ -909,8 +909,15 @@ impl Game {
|
||||
|
||||
pub fn on_chat_message(&mut self, player_id: u16, message: String) {
|
||||
if let Some(chat) = &mut Chat::singleton() {
|
||||
chat.bind_mut()
|
||||
.new_message(ChatMessage::ChatMessage(player_id, message.clone()));
|
||||
if let Some(player) = self.find_player(player_id)
|
||||
&& let Some(team) = self.get_team(player.data.team)
|
||||
{
|
||||
chat.bind_mut().new_message(ChatMessage::ChatMessage(
|
||||
player.data.name.clone(),
|
||||
team.bind().color,
|
||||
message.clone(),
|
||||
));
|
||||
}
|
||||
}
|
||||
self.run_deferred(move |_| {
|
||||
if let Some(peer) = &mut NetworkManager::singleton().bind_mut().peer
|
||||
|
||||
Loading…
Reference in New Issue
Block a user