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=data["pos"])