From ed5f46d8ec54d06e3a8c280a0d439c04c1362c63 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 30 Jan 2021 22:08:59 +0000 Subject: [PATCH] hidden prep: Allow api updates to be per-player Signed-off-by: Ian Jackson --- src/updates.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/updates.rs b/src/updates.rs index 97f42702..c7efbc1b 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -119,9 +119,10 @@ pub struct PieceUpdate { pub ops: PieceUpdateOps, } -#[derive(Debug,Copy,Clone)] +#[derive(Debug,Clone)] pub enum PieceUpdateOps { Simple(PieceUpdateOp<(),()>), + PerPlayer(DenseSlotMap>), } impl From> for PieceUpdateOps { @@ -503,6 +504,10 @@ impl<'r> PrepareUpdatesBuffer<'r> { for player in gs.players.keys() { let ops = match ops { PUO::Simple(update) => update, + PUO::PerPlayer(ref ops) => match ops.get(player) { + Some(op) => *op, + None => continue, + } }; let op = match (&mut pc, p) { (Some(pc), Some(p)) => Self::piece_update_player( -- 2.30.2