maintaining stuff
This commit is contained in:
@@ -1,41 +1,32 @@
|
|||||||
import time
|
import time
|
||||||
|
from dataclasses import dataclass, field, asdict
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
class Cat:
|
class Cat:
|
||||||
def __init__(self, name, traits, fullness=100, happiness=100, last_updated=None):
|
name: str
|
||||||
self.name = name
|
traits: dict
|
||||||
self.traits = traits
|
fullness: float = 100
|
||||||
self.fullness = fullness
|
happiness: float = 100
|
||||||
self.happiness = happiness
|
sick: bool = False
|
||||||
self.last_updated = last_updated if last_updated is not None else time.time()
|
depressed: bool = False
|
||||||
|
last_updated: float = field(default_factory=time.time)
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
return {
|
return asdict(self)
|
||||||
"name": self.name,
|
|
||||||
"traits": self.traits,
|
|
||||||
"fullness": self.fullness,
|
|
||||||
"happiness": self.happiness,
|
|
||||||
"last_updated": self.last_updated,
|
|
||||||
}
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_dict(data):
|
def from_dict(data):
|
||||||
return Cat(
|
return Cat(**data)
|
||||||
data["name"],
|
|
||||||
data["traits"],
|
|
||||||
data["fullness"],
|
|
||||||
data["happiness"],
|
|
||||||
data["last_updated"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
class Save:
|
class Save:
|
||||||
def __init__(self, version, cat: Cat):
|
version: int
|
||||||
self.version = version
|
cat: Cat
|
||||||
self.cat = cat
|
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
return {"version": self.version, "cat": self.cat.to_dict()}
|
return asdict(self)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_dict(data):
|
def from_dict(data):
|
||||||
|
|||||||
Reference in New Issue
Block a user