diff options
Diffstat (limited to 'src/components/messages.rs')
| -rw-r--r-- | src/components/messages.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/components/messages.rs b/src/components/messages.rs index fa4d747..ac21ea1 100644 --- a/src/components/messages.rs +++ b/src/components/messages.rs @@ -73,12 +73,24 @@ pub type AttackInbox = Inbox<AttackMessage>; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Trigger { Loot, Die, Remove } + +impl Trigger { + pub fn from_str(txt: &str) -> Option<Self> { + Some(match txt { + "loot" => Self::Loot, + "die" => Self::Die, + "remove" => Self::Remove, + _ => {return None} + }) + } +} + impl Message for Trigger {} pub type TriggerBox = Inbox<Trigger>; |
