Ninja-Jump-and-run/scripts/models.py
2026-05-11 18:06:31 +02:00

29 lines
No EOL
729 B
Python

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']),
)