35 lines
905 B
Python
35 lines
905 B
Python
import time
|
|
|
|
|
|
class Cat:
|
|
def __init__(self, name, traits, hunger=100, last_updated=None):
|
|
self.name = name
|
|
self.traits = traits
|
|
self.hunger = hunger
|
|
self.last_updated = last_updated if last_updated is not None else time.time()
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"name": self.name,
|
|
"traits": self.traits,
|
|
"hunger": self.hunger,
|
|
"last_updated": self.last_updated,
|
|
}
|
|
|
|
@staticmethod
|
|
def from_dict(data):
|
|
return Cat(data["name"], data["traits"], data["hunger"], data["last_updated"])
|
|
|
|
|
|
class Save:
|
|
def __init__(self, version, cat: Cat):
|
|
self.version = version
|
|
self.cat = cat
|
|
|
|
def to_dict(self):
|
|
return {"version": self.version, "cat": self.cat.to_dict()}
|
|
|
|
@staticmethod
|
|
def from_dict(data):
|
|
return Save(data["version"], Cat.from_dict(data["cat"]))
|