fix save compat

This commit is contained in:
Eclipse/Druss99
2025-09-23 16:36:27 -04:00
committed by Raffson
parent 31c80dfd02
commit 9f10ecc884
21 changed files with 122 additions and 56 deletions

View File

@@ -56,7 +56,7 @@ https://en.wikipedia.org/wiki/Hierarchical_task_network
from __future__ import annotations
from datetime import datetime
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING, Any
from game.ato.starttype import StartType
from game.commander.tasks.compound.nextaction import PlanNextAction
@@ -80,6 +80,18 @@ class TheaterCommander(Planner[TheaterState, TheaterCommanderTask]):
self.game = game
self.player = player
def __setstate__(self, state: dict[str, Any]) -> None:
# Migration: Convert old boolean player values to Player enum
if "player" in state and isinstance(state["player"], bool):
from game.theater.player import Player
if state["player"]:
state["player"] = Player.BLUE
else:
state["player"] = Player.RED
self.__dict__.update(state)
def plan_missions(self, now: datetime, tracer: MultiEventTracer) -> None:
state = TheaterState.from_game(self.game, self.player, now, tracer)
while True: