1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
use crate::choices::{ArsenalItem, Booster, Character}; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct CharacterlessPlayer { pub streak: Option<CharacterStreak>, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct BoosterlessPlayer { pub points: u8, pub character: Character, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct DequeueingPlayer { pub points: u8, pub character: Character, pub booster: Booster, pub arsenal: Vec<ArsenalItem>, pub queue: Queue, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct ActionlessPlayer { pub points: u8, pub character: Character, pub booster: Booster, pub arsenal: Vec<ArsenalItem>, pub queue: Queue, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct FinishedPlayer { pub points: u8, pub character: Character, pub booster: Booster, pub arsenal: Vec<ArsenalItem>, pub queue: Queue, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct CharacterStreak { pub character: Character, pub times: u8, } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct Queue { pub entrance: Option<ArsenalItem>, pub pool: Vec<ArsenalItem>, pub exit: Option<ArsenalItem>, }