mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Allow radio-presets to be defined in squadron files
This commit is contained in:
@@ -46,6 +46,9 @@ class CommonRadioChannelAllocator(RadioChannelAllocator):
|
||||
def assign_channels_for_flight(
|
||||
self, flight: FlightData, mission_data: MissionData
|
||||
) -> None:
|
||||
if flight.client_units and flight.squadron.radio_presets:
|
||||
return self.assign_from_squadron_presets(flight)
|
||||
|
||||
if self.intra_flight_radio_index is not None:
|
||||
flight.assign_channel(
|
||||
self.intra_flight_radio_index, 1, flight.intra_flight_channel
|
||||
@@ -105,6 +108,17 @@ class CommonRadioChannelAllocator(RadioChannelAllocator):
|
||||
def name(cls) -> str:
|
||||
return "common"
|
||||
|
||||
def assign_from_squadron_presets(self, flight: FlightData) -> None:
|
||||
presets = flight.squadron.radio_presets
|
||||
for radio in presets:
|
||||
radio_id = 1
|
||||
if self.intra_flight_radio_index and radio == "intra_flight":
|
||||
radio_id = self.intra_flight_radio_index
|
||||
elif self.inter_flight_radio_index and radio == "inter_flight":
|
||||
radio_id = self.inter_flight_radio_index
|
||||
for channel, freq in enumerate(presets[radio], start=1):
|
||||
flight.assign_channel(radio_id, channel, freq)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class NoOpChannelAllocator(RadioChannelAllocator):
|
||||
|
||||
Reference in New Issue
Block a user