1use crate::chat::{Chat, ChatMessage, ChatMessageId, ChatMessageKind};
5use crate::error::Result;
6use crate::player::PlayerId;
7use crate::world::World;
8
9impl World {
10 #[inline]
11 pub fn chat(&self) -> &Chat {
12 &self.chat
13 }
14
15 pub fn push_chat_message(&mut self, author: PlayerId, message: &str) -> Result<ChatMessageId> {
16 let message = ChatMessage::builder(message)
17 .author(author)
18 .kind(ChatMessageKind::Default)
19 .build();
20
21 let id = message.id();
22 self.chat.push(message.clone());
23 self.emit_chat_updated(message)?;
24
25 Ok(id)
26 }
27}