diff options
| -rw-r--r-- | src/main.rs | 1 | ||||
| -rw-r--r-- | src/worldmessages.rs | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index 5ee6183..96844d3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -111,6 +111,7 @@ fn main() -> Result<()>{ } Action::Leave(player) => { world.remove_player(&player)?; + message_cache.remove(&player); } } } diff --git a/src/worldmessages.rs b/src/worldmessages.rs index 1a56c55..75d8b33 100644 --- a/src/worldmessages.rs +++ b/src/worldmessages.rs @@ -78,11 +78,11 @@ pub struct FieldMessage { #[derive(Debug, Clone, Default)] pub struct MessageCache { - pub cache: HashMap<PlayerId, WorldMessage> + cache: HashMap<PlayerId, WorldMessage> } impl MessageCache { - + pub fn trim(&mut self, player: &PlayerId, msg: &mut WorldMessage){ if let Some(cached) = self.cache.get_mut(player){ msg.remove_old(cached); @@ -91,6 +91,10 @@ impl MessageCache { self.cache.insert(player.clone(), msg.clone()); } } + + pub fn remove(&mut self, player: &PlayerId){ + self.cache.remove(player); + } } |
