|
| 1 | +from dataclasses import dataclass, field |
1 | 2 | from datetime import timedelta |
2 | 3 | from app.gameConfig import PHASES_WITH_LEVELS |
3 | 4 | from app.statistics3.StatsPhase import StatsPhase |
4 | 5 | from app.statistics3.StatsPhaseLevels import StatsPhaseLevels |
5 | 6 | from app.statistics3.statisticsUtils import TIMESTAMP_MS, LogValidationError |
6 | 7 | from app.utilsGame import PhaseType |
7 | 8 |
|
8 | | - |
| 9 | +@dataclass |
9 | 10 | class StatsParticipant: |
10 | 11 |
|
11 | | - @property |
12 | | - def activePhase(self) -> StatsPhase: |
13 | | - assert self.phaseIdx >= 0 and self.phaseIdx < len(self.phases) |
14 | | - return self.phases[self.phaseIdx] |
15 | | - |
| 12 | + pseudonym: str |
| 13 | + is_debug: bool |
16 | 14 |
|
17 | | - def __init__(self, pseudonym: str, is_debug: bool) -> None: |
18 | | - self.pseudonym = pseudonym |
19 | | - self.is_debug = is_debug |
| 15 | + groups: list[str] = field(default_factory=list[str]) |
20 | 16 |
|
21 | | - self.is_debug: bool |
22 | | - self.groups: list[str] = [] |
| 17 | + phases: list[StatsPhase] = field(default_factory=list[StatsPhase]) |
| 18 | + phaseIdx: int = -1 |
23 | 19 |
|
24 | | - self.phases: list[StatsPhase] = [] |
25 | | - self.phaseIdx: int = -1 |
| 20 | + quali_fails: int = 0 |
26 | 21 |
|
27 | | - self.quali_fails: int = 0 |
| 22 | + game_started: bool = False |
| 23 | + reloads: list[str] = field(default_factory=list[str]) |
28 | 24 |
|
29 | | - self.game_started = False |
30 | | - self.reloads: list[str] = [] |
| 25 | + time_limit: timedelta|None = None |
31 | 26 |
|
32 | | - self.time_limit: timedelta|None = None |
| 27 | + @property |
| 28 | + def activePhase(self) -> StatsPhase: |
| 29 | + assert self.phaseIdx >= 0 and self.phaseIdx < len(self.phases) |
| 30 | + return self.phases[self.phaseIdx] |
33 | 31 |
|
34 | 32 |
|
35 | 33 | def load_phase(self, type_phase: str, time_loaded: TIMESTAMP_MS): |
|
0 commit comments