from dataclasses import dataclass @dataclass class Tile: type: str variant: int pos: list[int] def grid_key(self) -> str: """Erzeugt den String-Key für die Tilemap.""" return f"{self.pos[0]};{self.pos[1]}" def to_dict(self) -> dict: """Konvertiert zurück in ein Dict (für JSON-Speicherung).""" return { 'type': self.type, 'variant': self.variant, 'pos': list(self.pos) } @staticmethod def from_dict(data: dict) -> 'Tile': """Erstellt ein Tile aus einem Dictionary.""" return Tile( type=data['type'], variant=data['variant'], pos=list(data['pos']), )