Ninja-Jump-and-run/scripts/models.py

24 lines
625 B
Python
Raw Normal View History

2026-04-17 16:45:10 +00:00
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"])