Impl game event type build

master^2
bel 2020-05-03 13:45:06 -06:00
parent 011826762f
commit 6ac68214ce
1 changed files with 21 additions and 16 deletions

View File

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