save & load wars

This commit is contained in:
Maxime Réaux 2026-01-21 08:31:48 +01:00
parent 1218f32752
commit dc854b4065
5 changed files with 52 additions and 50 deletions

View file

@ -29,21 +29,22 @@ class War:
"id" : self.id,
"name" : self.name,
"year" : self.year,
"entrants" : self.entrants,
"campaigns" : self.campaigns,
# "entrants" : self.entrants,
"campaigns": [camp.toDict() for camp in self.campaigns],
"is_over": self.is_over
}
@staticmethod
def fromDict(id, name, year, entrants, campaigns, is_over):
tmp = War(name=name)
tmp.set_id(id)
tmp.set_year(year)
## entrants placeholder
## campaigns placeholder
tmp.set_state(is_over)
return tmp
def fromDict(data: dict):
war = War(name=data["name"])
war.set_id(data["id"])
war.set_year(data["year"])
# war.entrants = data.get("entrants", {})
for camp_data in data.get("campaigns", []):
war.campaigns.append(Campaign.fromDict(camp_data))
war.set_state(data.get("is_over", False))
return war
def add_campaign(self, name) -> Campaign:
campaign = Campaign(name)
self.campaigns.append(campaign)