mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Push full navmesh/threatzone info in the event stream.
https://github.com/dcs-liberation/dcs_liberation/issues/2253 https://github.com/dcs-liberation/dcs_liberation/issues/2263
This commit is contained in:
@@ -10,8 +10,10 @@ from dcs.mapping import LatLng
|
||||
if TYPE_CHECKING:
|
||||
from game import Game
|
||||
from game.ato import Flight, Package
|
||||
from game.navmesh import NavMesh
|
||||
from game.sim.combat import FrozenCombat
|
||||
from game.theater import ControlPoint, FrontLine, TheaterGroundObject
|
||||
from game.threatzones import ThreatZones
|
||||
from game.theater.iadsnetwork.iadsnetwork import IadsNetworkNode
|
||||
|
||||
|
||||
@@ -22,9 +24,9 @@ class GameUpdateEvents:
|
||||
updated_combats: list[FrozenCombat] = field(default_factory=list)
|
||||
ended_combats: list[FrozenCombat] = field(default_factory=list)
|
||||
updated_flight_positions: list[tuple[Flight, Point]] = field(default_factory=list)
|
||||
navmesh_updates: set[bool] = field(default_factory=set)
|
||||
navmesh_updates: dict[bool, NavMesh] = field(default_factory=dict)
|
||||
unculled_zones_updated: list[Point] = field(default_factory=list)
|
||||
threat_zones_updated: bool = False
|
||||
threat_zones_updated: dict[bool, ThreatZones] = field(default_factory=dict)
|
||||
new_flights: set[Flight] = field(default_factory=set)
|
||||
updated_flights: set[Flight] = field(default_factory=set)
|
||||
deleted_flights: set[UUID] = field(default_factory=set)
|
||||
@@ -67,16 +69,16 @@ class GameUpdateEvents:
|
||||
self.updated_flight_positions.append((flight, new_position))
|
||||
return self
|
||||
|
||||
def update_navmesh(self, player: bool) -> GameUpdateEvents:
|
||||
self.navmesh_updates.add(player)
|
||||
def update_navmesh(self, player: bool, navmesh: NavMesh) -> GameUpdateEvents:
|
||||
self.navmesh_updates[player] = navmesh
|
||||
return self
|
||||
|
||||
def update_unculled_zones(self, zones: list[Point]) -> GameUpdateEvents:
|
||||
self.unculled_zones_updated = zones
|
||||
return self
|
||||
|
||||
def update_threat_zones(self) -> GameUpdateEvents:
|
||||
self.threat_zones_updated = True
|
||||
def update_threat_zones(self, player: bool, zones: ThreatZones) -> GameUpdateEvents:
|
||||
self.threat_zones_updated[player] = zones
|
||||
return self
|
||||
|
||||
def new_flight(self, flight: Flight) -> GameUpdateEvents:
|
||||
|
||||
Reference in New Issue
Block a user