fix ready up clone
This commit is contained in:
@@ -85,7 +85,7 @@ impl Instance {
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
fn player_ready(&mut self, mut player: Player) -> Result<&mut Instance, Error> {
|
||||
fn player_ready(&mut self, player: &mut Player) -> Result<&mut Instance, Error> {
|
||||
if self.phase != InstancePhase::Vbox {
|
||||
return Err(err_msg("instance not in vbox phase"));
|
||||
}
|
||||
@@ -97,7 +97,7 @@ impl Instance {
|
||||
|
||||
player.set_ready(true);
|
||||
|
||||
self.players[i] = player;
|
||||
self.players[i] = player.clone();
|
||||
|
||||
Ok(self)
|
||||
}
|
||||
@@ -416,14 +416,14 @@ pub fn instance_join(params: InstanceJoinParams, tx: &mut Transaction, account:
|
||||
}
|
||||
|
||||
pub fn instance_ready(params: InstanceReadyParams, tx: &mut Transaction, account: &Account) -> Result<Game, Error> {
|
||||
let player = player_get(tx, account.id, params.instance_id)?;
|
||||
let mut player = player_get(tx, account.id, params.instance_id)?;
|
||||
|
||||
let mut instance = instance_get(tx, params.instance_id)?;
|
||||
let game_id = instance.current_round(&player).game_id;
|
||||
|
||||
// attempting to re-ready
|
||||
// send game state
|
||||
match instance.player_ready(player.clone()) {
|
||||
match instance.player_ready(&mut player) {
|
||||
Ok(_) => (),
|
||||
Err(_) => return game_get(tx, game_id),
|
||||
};
|
||||
@@ -524,8 +524,8 @@ mod tests {
|
||||
instance.start();
|
||||
assert_eq!(instance.rounds[0].len(), 8);
|
||||
|
||||
let player = instance.players.clone().into_iter().find(|p| p.account == player_id).unwrap();
|
||||
instance.player_ready(player).unwrap();
|
||||
let mut player = instance.players.clone().into_iter().find(|p| p.account == player_id).unwrap();
|
||||
instance.player_ready(&mut player).unwrap();
|
||||
|
||||
assert!(instance.vbox_phase_finished());
|
||||
instance.games_phase_start();
|
||||
|
||||
Reference in New Issue
Block a user