Fix DaytimeMap error with disabled night missions.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2429
This commit is contained in:
Dan Albert 2022-09-09 12:54:16 -07:00
parent fa7dbc587a
commit f15c2ada1b
6 changed files with 19 additions and 13 deletions

View File

@ -37,7 +37,8 @@ from .theater.theatergroundobject import (
TheaterGroundObject, TheaterGroundObject,
) )
from .theater.transitnetwork import TransitNetwork, TransitNetworkBuilder from .theater.transitnetwork import TransitNetwork, TransitNetworkBuilder
from .weather import Conditions, TimeOfDay from .timeofday import TimeOfDay
from .weather import Conditions
if TYPE_CHECKING: if TYPE_CHECKING:
from .ato.airtaaskingorder import AirTaskingOrder from .ato.airtaaskingorder import AirTaskingOrder

View File

@ -2,7 +2,7 @@ from dataclasses import dataclass
from datetime import time from datetime import time
from typing import TypeAlias from typing import TypeAlias
from game.weather import TimeOfDay from game.timeofday import TimeOfDay
TimeRange: TypeAlias = tuple[time, time] TimeRange: TypeAlias = tuple[time, time]

10
game/timeofday.py Normal file
View File

@ -0,0 +1,10 @@
from __future__ import annotations
from enum import Enum
class TimeOfDay(Enum):
Dawn = "dawn"
Day = "day"
Dusk = "dusk"
Night = "night"

View File

@ -4,28 +4,22 @@ import datetime
import logging import logging
import random import random
from dataclasses import dataclass, field from dataclasses import dataclass, field
from enum import Enum
from typing import Optional, TYPE_CHECKING from typing import Optional, TYPE_CHECKING
from dcs.cloud_presets import Clouds as PydcsClouds from dcs.cloud_presets import Clouds as PydcsClouds
from dcs.weather import CloudPreset, Weather as PydcsWeather, Wind from dcs.weather import CloudPreset, Weather as PydcsWeather, Wind
from game.theater.daytimemap import DaytimeMap
from game.theater.seasonalconditions import determine_season from game.theater.seasonalconditions import determine_season
from game.timeofday import TimeOfDay
from game.utils import Distance, Heading, Pressure, inches_hg, interpolate, meters from game.utils import Distance, Heading, Pressure, inches_hg, interpolate, meters
if TYPE_CHECKING: if TYPE_CHECKING:
from game.settings import Settings from game.settings import Settings
from game.theater import ConflictTheater, DaytimeMap from game.theater import ConflictTheater
from game.theater.seasonalconditions import SeasonalConditions from game.theater.seasonalconditions import SeasonalConditions
class TimeOfDay(Enum):
Dawn = "dawn"
Day = "day"
Dusk = "dusk"
Night = "night"
@dataclass(frozen=True) @dataclass(frozen=True)
class AtmosphericConditions: class AtmosphericConditions:
#: Pressure at sea level. #: Pressure at sea level.

View File

@ -13,8 +13,9 @@ from dcs.weather import CloudPreset, Weather as PydcsWeather
import qt_ui.uiconstants as CONST import qt_ui.uiconstants as CONST
from game.sim.gameupdateevents import GameUpdateEvents from game.sim.gameupdateevents import GameUpdateEvents
from game.timeofday import TimeOfDay
from game.utils import mps from game.utils import mps
from game.weather import Conditions, TimeOfDay from game.weather import Conditions
from qt_ui.simcontroller import SimController from qt_ui.simcontroller import SimController

View File

@ -3,7 +3,7 @@ from datetime import time
import pytest import pytest
from game.theater.daytimemap import DaytimeMap from game.theater.daytimemap import DaytimeMap
from game.weather import TimeOfDay from game.timeofday import TimeOfDay
def test_range_of() -> None: def test_range_of() -> None: