From 2d4cabc768968a215556f7a4ed81a728d3b6e120 Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 13 Apr 2020 14:36:03 +0200 Subject: checking for specific messages is easier because of TriggerBox::has_message --- src/components/messages.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/components/messages.rs') diff --git a/src/components/messages.rs b/src/components/messages.rs index 2c0ffd5..5e27cc6 100644 --- a/src/components/messages.rs +++ b/src/components/messages.rs @@ -11,7 +11,7 @@ use super::equipment::Stat; -pub trait Message: Send + Sync + Any {} +pub trait Message: Send + Sync + Any + PartialEq {} #[derive(Debug, Clone, Default)] pub struct Inbox { @@ -32,6 +32,17 @@ impl Inbox { .messages .push(message); } + + pub fn has_message(&self, messages: &[M]) -> bool { + for message in self.messages.iter() { + for asked in messages { + if message == asked { + return true; + } + } + } + false + } } @@ -56,7 +67,7 @@ impl AttackType { } } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq)] pub struct AttackMessage { pub attacker: Option, pub typ: AttackType -- cgit