Impl game event type build

master
bel 2020-05-03 13:45:06 -06:00
parent 2a32f0e261
commit 57fe95889f
1 changed files with 21 additions and 16 deletions

View File

@ -26,24 +26,29 @@ pub enum GameEventType {
impl GameEventType { impl GameEventType {
fn from_string(s: String) -> GameEventType { fn from_string(s: String) -> GameEventType {
match s.as_ref() { let cases = vec![
"Null" => return GameEventType::Null, GameEventType::Null,
"GameStart" => return GameEventType::GameStart, GameEventType::GameStart,
"RoleSet" => return GameEventType::RoleSet, GameEventType::RoleSet,
"ElectionPend" => return GameEventType::ElectionPend, GameEventType::ElectionPend,
"ElectionSet" => return GameEventType::ElectionSet, GameEventType::ElectionSet,
"VoteSet" => return GameEventType::VoteSet, GameEventType::VoteSet,
"CardPend" => return GameEventType::CardPend, GameEventType::CardPend,
"CardPick" => return GameEventType::CardPick, GameEventType::CardPick,
"PolicySet" => return GameEventType::PolicySet, GameEventType::PolicySet,
"SpecialInspect" => return GameEventType::SpecialInspect, GameEventType::SpecialInspect,
"SpecialSelect" => return GameEventType::SpecialSelect, GameEventType::SpecialSelect,
"SpecialKill" => return GameEventType::SpecialKill, GameEventType::SpecialKill,
"SpecialPeek" => return GameEventType::SpecialPeek, GameEventType::SpecialPeek,
"GameStop" => return GameEventType::GameStop, GameEventType::GameStop,
_ => return GameEventType::Null, ];
for c in &cases {
if format!("{:?}", c) == s {
return *c;
} }
} }
GameEventType::Null
}
fn build(&self) -> GameEvent { fn build(&self) -> GameEvent {
let mut d = json::object!{ let mut d = json::object!{