mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
https://github.com/dcs-liberation/dcs_liberation/issues/1145 Currently this is fixed at the start of the campaign. The squadron locations are defined by the campaign file. Follow up work: * Track aircraft ownership per-squadron rather than per-airbase. * UI for relocating squadrons. * Ferry missions for squadrons that are relocating. * Auto-relocation (probably only for retreat handling). Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1138
57 lines
1.2 KiB
Python
57 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from datetime import timedelta
|
|
from typing import Optional, TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from gen.radios import RadioFrequency
|
|
from gen.tacan import TacanChannel
|
|
|
|
|
|
@dataclass
|
|
class AwacsInfo:
|
|
"""AWACS information for the kneeboard."""
|
|
|
|
group_name: str
|
|
callsign: str
|
|
freq: RadioFrequency
|
|
depature_location: Optional[str]
|
|
start_time: Optional[timedelta]
|
|
end_time: Optional[timedelta]
|
|
blue: bool
|
|
|
|
|
|
@dataclass
|
|
class TankerInfo:
|
|
"""Tanker information for the kneeboard."""
|
|
|
|
group_name: str
|
|
callsign: str
|
|
variant: str
|
|
freq: RadioFrequency
|
|
tacan: TacanChannel
|
|
start_time: Optional[timedelta]
|
|
end_time: Optional[timedelta]
|
|
blue: bool
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class JtacInfo:
|
|
"""JTAC information."""
|
|
|
|
group_name: str
|
|
unit_name: str
|
|
callsign: str
|
|
region: str
|
|
code: str
|
|
blue: bool
|
|
freq: RadioFrequency
|
|
|
|
|
|
@dataclass
|
|
class AirSupport:
|
|
awacs: list[AwacsInfo] = field(default_factory=list)
|
|
tankers: list[TankerInfo] = field(default_factory=list)
|
|
jtacs: list[JtacInfo] = field(default_factory=list)
|