Files
Untitled-Cat-Game/untitled/model.py
2026-06-25 14:46:31 -04:00

54 lines
1.0 KiB
Python

import time
from dataclasses import asdict, dataclass, field
from untitled import content
@dataclass
class Cat:
name: str
traits: dict
fullness: float = 100
happiness: float = 100
sick: bool = False
depressed: bool = False
last_updated: float = field(default_factory=time.time)
def to_dict(self):
return asdict(self)
@staticmethod
def from_dict(data):
return Cat(**data)
@dataclass
class Player:
money: int = 0
inventory: dict = field(default_factory=lambda: dict(content.BASE_INVENTORY))
def to_dict(self):
return asdict(self)
@staticmethod
def from_dict(data):
return Player(**data)
@dataclass
class Save:
version: int
cat: Cat
player: Player = field(default_factory=Player) # lazy :)
def to_dict(self):
return asdict(self)
@staticmethod
def from_dict(data):
return Save(
data["version"],
Cat.from_dict(data["cat"]),
Player.from_dict(data["player"]),
)