summaryrefslogtreecommitdiff
path: root/src/components/messages.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/messages.rs')
-rw-r--r--src/components/messages.rs14
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>;