summaryrefslogtreecommitdiff
path: root/src/components/flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/flags.rs')
-rw-r--r--src/components/flags.rs21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/components/flags.rs b/src/components/flags.rs
index d985bf2..25ec4ea 100644
--- a/src/components/flags.rs
+++ b/src/components/flags.rs
@@ -4,26 +4,17 @@ use specs::{
Component,
VecStorage,
};
+use strum_macros::{EnumString, Display};
+use serde::{Serialize, Deserialize};
-#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, EnumString, Display, Serialize, Deserialize)]
pub enum Flag {
Blocking,
Floor,
Occupied,
- Soil
-}
-
-use Flag::*;
-impl Flag {
- pub fn from_str(s: &str) -> Option<Flag> {
- Some(match s {
- "Blocking" => Blocking,
- "Floor" => Floor,
- "Occupied" => Occupied,
- "Soil" => Soil,
- _ => None?
- })
- }
+ Soil,
+ Build,
+ Hot
}