opname: &str, wrc: WhatResponseToClientOp)
-> UpdateFromOpComplex {
let ApiPieceOpArgs { gs,player,piece,ipieces,.. } = a;
+ let gen = &mut gs.gen;
let gplayers = &mut gs.players;
let gpieces = &mut gs.pieces;
// actually do things:
dbgc!("creating occ");
let xupdates =
- create_occultation(gplayers, gpieces, goccults, ipieces,
+ create_occultation(gen, gplayers, gpieces, goccults, ipieces,
region, piece, views)?;
dbgc!("creating occ done", &new_owner, &xupdates);
log
}
),
- to_recompute.implement(&mut gs.players, &mut gs.pieces, &mut gs.occults,
+ to_recompute.implement(&mut gs.gen, &mut gs.players,
+ &mut gs.pieces, &mut gs.occults,
ipieces),
))?
}
}
pub fn mark_dirty(&mut self, occid: OccId) { self.outdated.insert(occid); }
pub fn implement(self,
+ _gen: &mut Generation,
gplayers: &mut GPlayers,
gpieces: &mut GPieces,
goccults: &mut GameOccults,
#[throws(OnlineError)]
pub fn create_occultation(
+ gen: &mut Generation,
gplayers: &mut GPlayers,
gpieces: &mut GPieces,
goccults: &mut GameOccults,
goccults.occults.remove(occid).expect("inserted this earlier");
e
}),
- to_recompute.implement(gplayers, gpieces, goccults, ipieces),
+ to_recompute.implement(gen, gplayers, gpieces, goccults, ipieces),
))?;
dbgc!(&updates);
#[throws(IE)]
pub fn remove_occultation(
+ gen: &mut Generation,
gplayers: &mut GPlayers,
gpieces: &mut GPieces,
goccults: &mut GameOccults,
aggerr.record(internal_logic_error("removing occultation of non-piece"));
}
},
- to_recompute.implement(gplayers, gpieces, goccults, ipieces),
+ to_recompute.implement(gen, gplayers, gpieces, goccults, ipieces),
));
aggerr.ok()?;