29 lines
No EOL
731 B
Python
29 lines
No EOL
731 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.post[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.post)
|
|
}
|
|
|
|
@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']),
|
|
) |