Merge branch 'chat-limit' into 'master'

Limited total messages

See merge request veloren/veloren!176

Former-commit-id: 74000e7cec193056ce9215666668aac32b347487
This commit is contained in:
Imbris 2019-05-25 20:15:02 +00:00
commit 3ddf4bddab

View File

@ -17,6 +17,8 @@ widget_ids! {
} }
} }
const MAX_MESSAGES: usize = 100;
#[derive(WidgetCommon)] #[derive(WidgetCommon)]
pub struct Chat<'a> { pub struct Chat<'a> {
new_messages: &'a mut VecDeque<String>, new_messages: &'a mut VecDeque<String>,
@ -91,6 +93,13 @@ impl<'a> Widget for Chat<'a> {
ui.scroll_widget(state.ids.message_box, [0.0, std::f64::MAX]); ui.scroll_widget(state.ids.message_box, [0.0, std::f64::MAX]);
} }
// Empty old messages
state.update(|s| {
while s.messages.len() > MAX_MESSAGES {
s.messages.pop_front();
}
});
let keyboard_capturer = ui.global_input().current.widget_capturing_keyboard; let keyboard_capturer = ui.global_input().current.widget_capturing_keyboard;
let input_focused = keyboard_capturer == Some(state.ids.input); let input_focused = keyboard_capturer == Some(state.ids.input);