weiss_core/state/
player.rs1use super::{CardInstance, StageSlot};
2
3#[derive(Clone, Debug, Hash)]
5pub struct PlayerState {
6 pub deck: Vec<CardInstance>,
8 pub hand: Vec<CardInstance>,
10 pub waiting_room: Vec<CardInstance>,
12 pub clock: Vec<CardInstance>,
14 pub level: Vec<CardInstance>,
16 pub stock: Vec<CardInstance>,
18 pub memory: Vec<CardInstance>,
20 pub climax: Vec<CardInstance>,
22 pub resolution: Vec<CardInstance>,
24 pub stage: [StageSlot; 5],
26}
27
28impl PlayerState {
29 pub fn new(deck: Vec<CardInstance>) -> Self {
31 Self {
32 deck,
33 hand: Vec::new(),
34 waiting_room: Vec::new(),
35 clock: Vec::new(),
36 level: Vec::new(),
37 stock: Vec::new(),
38 memory: Vec::new(),
39 climax: Vec::new(),
40 resolution: Vec::new(),
41 stage: [
42 StageSlot::empty(),
43 StageSlot::empty(),
44 StageSlot::empty(),
45 StageSlot::empty(),
46 StageSlot::empty(),
47 ],
48 }
49 }
50}