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