nil_core/world/chat.rs
1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use crate::chat::{ChatMessage, ChatMessageId, ChatMessageKind};
5use crate::player::PlayerId;
6use crate::world::World;
7
8impl World {
9 pub fn push_chat_message(&mut self, author: PlayerId, message: &str) -> ChatMessageId {
10 let message = ChatMessage::builder(message)
11 .author(author)
12 .kind(ChatMessageKind::Default)
13 .build();
14
15 let id = message.id();
16 self.chat.push(message.clone());
17 self.emit_chat_updated(message);
18
19 id
20 }
21}