diff options
Diffstat (limited to 'src/engine/command.rs')
-rw-r--r-- | src/engine/command.rs | 7 |
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 } + } + } |