zero_trust_rps/common/client/
simple_move.rsuse crate::common::message::{RoomId, RpsData};
use super::state::RpsState;
#[derive(Clone, Copy, Debug)]
pub enum SimpleUserMove {
JoinRoom(RoomId),
Play(RpsData),
ConfirmPlay,
BackToRoom,
}
impl SimpleUserMove {
pub fn allowed_state(&self) -> RpsState {
match self {
SimpleUserMove::JoinRoom(_) => RpsState::BeforeRoom,
SimpleUserMove::Play(_) => RpsState::InRoom,
SimpleUserMove::ConfirmPlay => RpsState::Played,
SimpleUserMove::BackToRoom => RpsState::Confirmed,
}
}
}