add objective values settings
This commit is contained in:
parent
f04aeaf525
commit
7f0d86f6dd
6 changed files with 133 additions and 34 deletions
|
|
@ -162,6 +162,18 @@ class Model:
|
|||
war.set_name(name)
|
||||
war.set_year(year)
|
||||
|
||||
def set_major_value(self, war_id: str, value: int) -> None:
|
||||
war = self.get_war(war_id)
|
||||
war.set_major(value)
|
||||
|
||||
def set_minor_value(self, war_id: str, value: int) -> None:
|
||||
war = self.get_war(war_id)
|
||||
war.set_minor(value)
|
||||
|
||||
def set_influence_token(self, war_id: str, value: bool) -> None:
|
||||
war = self.get_war(war_id)
|
||||
war.set_influence(value)
|
||||
|
||||
def get_all_wars(self) -> List[War]:
|
||||
return list(self.wars.values())
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@ class War:
|
|||
self.id: str = str(uuid4())
|
||||
self.name: str = name
|
||||
self.year: int = year
|
||||
self.major_value: int = 2
|
||||
self.minor_value: int = 1
|
||||
self.influence_token: bool = True
|
||||
self.participants: Dict[str, WarParticipant] = {}
|
||||
self.objectives: Dict[str, Objective] = {}
|
||||
self.campaigns: List[Campaign] = []
|
||||
|
|
@ -33,6 +36,19 @@ class War:
|
|||
def set_year(self, new_year: int) -> None:
|
||||
self.year = new_year
|
||||
|
||||
def set_major(self, new_value: int) -> None:
|
||||
if new_value < self.minor_value:
|
||||
raise ValueError("major_value cannot be < minor_value")
|
||||
self.major_value = new_value
|
||||
|
||||
def set_minor(self, new_value: int) -> None:
|
||||
if new_value > self.major_value:
|
||||
raise ValueError("minor_value cannot be > major_value")
|
||||
self.minor_value = new_value
|
||||
|
||||
def set_influence(self, new_state: bool) -> None:
|
||||
self.influence_token = new_state
|
||||
|
||||
def set_state(self, new_state: bool) -> None:
|
||||
self.is_over = new_state
|
||||
|
||||
|
|
@ -41,6 +57,9 @@ class War:
|
|||
"id": self.id,
|
||||
"name": self.name,
|
||||
"year": self.year,
|
||||
"major_value": self.major_value,
|
||||
"minor_value": self.minor_value,
|
||||
"influence_token": self.influence_token,
|
||||
"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],
|
||||
|
|
@ -51,6 +70,9 @@ class War:
|
|||
def fromDict(data: Dict[str, Any]) -> War:
|
||||
war = War(name=data["name"], year=data["year"])
|
||||
war.set_id(data["id"])
|
||||
war.set_major(data["major_value"])
|
||||
war.set_minor(data["minor_value"])
|
||||
war.set_influence(data["influence_token"])
|
||||
for part_data in data.get("participants", []):
|
||||
part = WarParticipant.fromDict(part_data)
|
||||
war.participants[part.id] = part
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue