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

@ -40,7 +40,8 @@ class Campaign:
"id": self.id,
"name": self.name,
"month": self.month,
# "participants" : self.participants,
"participants": [p.toDict() for p in self.participants.values()],
"sectors": [s.toDict() for s in self.sectors.values()],
"rounds": [rnd.toDict() for rnd in self.rounds],
"is_over": self.is_over,
}
@ -49,7 +50,12 @@ class Campaign:
def fromDict(data: Dict[str, Any]) -> Campaign:
camp = Campaign(name=data["name"], month=data["month"])
camp.set_id(data["id"])
# camp.participants = data.get("participants", {})
for p in data.get("participants", []):
part = CampaignParticipant.fromDict(p)
camp.participants[part.id] = part
for s in data.get("sectors", []):
sec = Sector.fromDict(s)
camp.sectors[sec.id] = sec
for rnd_data in data.get("rounds", []):
camp.rounds.append(Round.fromDict(rnd_data))
camp.set_state(data.get("is_over", False))