let cl = &g.clients.byid(client)?;
// ^ can only fail if we raced
let player = cl.player;
- let r : Result<(),OpError> = (||{
+ let r : Result<(),GameError> = (||{
let piece = decode_visible_pieceid(form.p);
let gs = &mut g.gs;
let p = gs.pieces.byid_mut(piece)?;
let u_gen =
if client == p.lastclient { p.gen_lastclient }
else { p.gen_before_lastclient };
- if u_gen > q_gen { Err(OpError::Conflict)? }
- if p.held != None { Err(OpError::PieceHeld)? };
+ if u_gen > q_gen { Err(GameError::Conflict)? }
+ if p.held != None { Err(GameError::PieceHeld)? };
p.held = Some(player);
gs.gen.increment();
let gen = gs.gen;
#[derive(Error,Debug)]
#[error("operation error {:?}",self)]
-pub enum OpError {
+pub enum GameError {
Conflict,
PieceGone,
PieceHeld,
}
impl IdForById for PieceId {
- type Error = OpError;
- const ERROR : OpError = OpError::PieceGone;
+ type Error = GameError;
+ const ERROR : GameError = GameError::PieceGone;
}