save/load participants, objectives, sectors, choices & battles

This commit is contained in:
Maxime Réaux 2026-02-06 09:59:54 +01:00
parent 7fbdacf97c
commit 6cd3a060c7
9 changed files with 152 additions and 11 deletions

View file

@ -41,7 +41,8 @@ class War:
"id": self.id,
"name": self.name,
"year": self.year,
# "participants" : self.participants,
"participants": [part.toDict() for part in self.participants.values()],
"objectives": [obj.toDict() for obj in self.objectives.values()],
"campaigns": [camp.toDict() for camp in self.campaigns],
"is_over": self.is_over,
}
@ -50,7 +51,12 @@ class War:
def fromDict(data: Dict[str, Any]) -> War:
war = War(name=data["name"], year=data["year"])
war.set_id(data["id"])
# war.participants = data.get("participants", {})
for part_data in data.get("participants", []):
part = WarParticipant.fromDict(part_data)
war.participants[part.id] = part
for obj_data in data.get("objectives", []):
obj = Objective.fromDict(obj_data)
war.objectives[obj.id] = obj
for camp_data in data.get("campaigns", []):
war.campaigns.append(Campaign.fromDict(camp_data))
war.set_state(data.get("is_over", False))