diff --git a/game/settings.py b/game/settings.py index 1e54c1b4..8bcf53b6 100644 --- a/game/settings.py +++ b/game/settings.py @@ -1,6 +1,8 @@ from dataclasses import dataclass, field from typing import Dict, Optional +from dcs.forcedoptions import ForcedOptions + @dataclass class Settings: @@ -15,7 +17,7 @@ class Settings: player_skill: str = "Good" enemy_skill: str = "Average" enemy_vehicle_skill: str = "Average" - map_coalition_visibility: str = "All Units" + map_coalition_visibility: ForcedOptions.Views = ForcedOptions.Views.All labels: str = "Full" only_player_takeoff: bool = True # Legacy parameter do not use night_disabled: bool = False diff --git a/gen/forcedoptionsgen.py b/gen/forcedoptionsgen.py index dff54bc4..65e213b5 100644 --- a/gen/forcedoptionsgen.py +++ b/gen/forcedoptionsgen.py @@ -1,17 +1,14 @@ from __future__ import annotations -import logging -from typing import TYPE_CHECKING from enum import IntEnum +from typing import TYPE_CHECKING from dcs.mission import Mission -from dcs.forcedoptions import ForcedOptions - -from .conflictgen import * if TYPE_CHECKING: from game.game import Game + class Labels(IntEnum): Off = 0 Full = 1 @@ -20,28 +17,18 @@ class Labels(IntEnum): class ForcedOptionsGenerator: - def __init__(self, mission: Mission, game: Game): + def __init__(self, mission: Mission, game: Game) -> None: self.mission = mission self.game = game - def _set_options_view(self): + def _set_options_view(self) -> None: + self.mission.forced_options.options_view = self.game.settings.map_coalition_visibility - if self.game.settings.map_coalition_visibility == ForcedOptions.Views.All: - self.mission.forced_options.options_view = ForcedOptions.Views.All - elif self.game.settings.map_coalition_visibility == ForcedOptions.Views.Allies: - self.mission.forced_options.options_view = ForcedOptions.Views.Allies - elif self.game.settings.map_coalition_visibility == ForcedOptions.Views.OnlyAllies: - self.mission.forced_options.options_view = ForcedOptions.Views.OnlyAllies - elif self.game.settings.map_coalition_visibility == ForcedOptions.Views.MyAircraft: - self.mission.forced_options.options_view = ForcedOptions.Views.MyAircraft - elif self.game.settings.map_coalition_visibility == ForcedOptions.Views.OnlyMap: - self.mission.forced_options.options_view = ForcedOptions.Views.OnlyMap - - def _set_external_views(self): + def _set_external_views(self) -> None: if not self.game.settings.external_views_allowed: self.mission.forced_options.external_views = self.game.settings.external_views_allowed - def _set_labels(self): + def _set_labels(self) -> None: if self.game.settings.labels == "Abbreviated": self.mission.forced_options.labels = int(Labels.Abbreviated) elif self.game.settings.labels == "Dot Only":