37 lines
703 B
Python
37 lines
703 B
Python
from dataclasses import dataclass
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class BoardSettings:
|
|
WIDTH: int = 21
|
|
HEIGHT: int = 21
|
|
OBSTACLE_COUNT: int = 10
|
|
|
|
|
|
@dataclass
|
|
class InactivityWatchdogSettings:
|
|
INACIVITY_TIMEOUT: int = 10 # seconds
|
|
KICK_TIMEOUT: int = 60 * 10 # seconds
|
|
TICK_INTERVAL: int = 1 # seconds
|
|
|
|
|
|
@dataclass
|
|
class WSServerSettings:
|
|
HOST: str = "localhost"
|
|
PORT: int = 8010
|
|
|
|
|
|
@dataclass
|
|
class DebugSettings:
|
|
PRINT_BOARD: bool = False
|
|
CREATE_TEST_PLAYER: bool = False
|
|
|
|
|
|
@dataclass
|
|
class Settings:
|
|
board: BoardSettings
|
|
inacivity_watchdog: InactivityWatchdogSettings
|
|
ws_server: WSServerSettings
|
|
debug: Optional[DebugSettings] = None
|