Fix callsign generator (#3467)

Fix crash in CallsignGenerator when player uses faction that uses
Eastern callsign conventions.
This commit is contained in:
zhexu14 2024-11-29 22:30:04 +11:00 committed by GitHub
parent 6cd3043b60
commit 4e86b5211c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 10 deletions

View File

@ -1,3 +1,16 @@
# 12.1.0
Saves from 12.x are not compatible with 12.1.0.
## Features/Improvements
## Fixes
* **[Data]** Added/updated CBU weapons data.
* **[Mission Generation]** Fixed crash when using factions that have Eastern callsign conventions.
# 12.0.0
Saves from 11.x are not compatible with 12.0.0.

View File

@ -230,19 +230,19 @@ class EasternFlightCallsignGenerator:
class FlightCallsignGenerator:
def __init__(self, country: str):
self._generators: dict[
bool, WesternFlightCallsignGenerator | EasternFlightCallsignGenerator
] = {
True: WesternFlightCallsignGenerator(country),
False: EasternFlightCallsignGenerator(),
}
self._use_western_callsigns = countries_by_name[country]().use_western_callsigns
use_western_callsigns = countries_by_name[country]().use_western_callsigns
if use_western_callsigns:
self._generator: (
WesternFlightCallsignGenerator | EasternFlightCallsignGenerator
) = WesternFlightCallsignGenerator(country)
else:
self._generator = EasternFlightCallsignGenerator()
def reset(self) -> None:
self._generators[self._use_western_callsigns].reset()
self._generator.reset()
def alloc_callsign(self, flight: Flight) -> Callsign:
return self._generators[self._use_western_callsigns].alloc_callsign(flight)
return self._generator.alloc_callsign(flight)
def release_callsign(self, callsign: Callsign) -> None:
self._generators[self._use_western_callsigns].release_callsign(callsign)
self._generator.release_callsign(callsign)