from __future__ import annotations from pydantic import Field from hopper.api.dto import BaseModel, BoardDto, DestinationDto, PlayerDto, PositionDto from hopper.enums import ObjectType class LayerObjectDto(BaseModel): type: ObjectType = Field(..., alias="type_") position: PositionDto class LayerDto(BaseModel): name: str objects: list[LayerObjectDto] class GameStatePlayerDto(PlayerDto): reached_destination: bool class GameStateDto(BaseModel): board: BoardDto destination: DestinationDto players: list[GameStatePlayerDto] layers: list[LayerDto]