summaryrefslogtreecommitdiff
path: root/src/engine/command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/command.rs')
-rw-r--r--src/engine/command.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/engine/command.rs b/src/engine/command.rs
index 17dbd5a..b350d65 100644
--- a/src/engine/command.rs
+++ b/src/engine/command.rs
@@ -29,4 +29,11 @@ impl BuildingType {
use self::BuildingType::*;
[Defence, Attack, Energy]
}
+
+ fn count() -> u8 { BuildingType::Energy as u8 + 1 }
+ pub fn from_u8(id: u8) -> Option<BuildingType> {
+ use std::mem;
+ if id < Self::count() { Some(unsafe { mem::transmute(id) }) } else { None }
+ }
+
}