Push full front line information in the event stream.

https://github.com/dcs-liberation/dcs_liberation/issues/2263
This commit is contained in:
Raffson
2022-06-25 23:13:10 +02:00
committed by GitHub
parent d578e763c0
commit da90a40bc4
5 changed files with 20 additions and 37 deletions

View File

@@ -29,8 +29,7 @@ class GameUpdateEventsJs(BaseModel):
deleted_flights: set[UUID]
selected_flight: UUID | None
deselected_flight: bool
new_front_lines: list[FrontLineJs]
updated_front_lines: set[UUID]
updated_front_lines: list[FrontLineJs]
deleted_front_lines: set[UUID]
updated_tgos: set[UUID]
updated_control_points: set[UUID]
@@ -78,10 +77,9 @@ class GameUpdateEventsJs(BaseModel):
deleted_flights=events.deleted_flights,
selected_flight=events.selected_flight,
deselected_flight=events.deselected_flight,
new_front_lines=[
FrontLineJs.for_front_line(f) for f in events.new_front_lines
updated_front_lines=[
FrontLineJs.for_front_line(f) for f in events.updated_front_lines
],
updated_front_lines=events.updated_front_lines,
deleted_front_lines=events.deleted_front_lines,
updated_tgos=events.updated_tgos,
updated_control_points=events.updated_control_points,

View File

@@ -29,8 +29,7 @@ class GameUpdateEvents:
deleted_flights: set[UUID] = field(default_factory=set)
selected_flight: UUID | None = None
deselected_flight: bool = False
new_front_lines: set[FrontLine] = field(default_factory=set)
updated_front_lines: set[UUID] = field(default_factory=set)
updated_front_lines: set[FrontLine] = field(default_factory=set)
deleted_front_lines: set[UUID] = field(default_factory=set)
updated_tgos: set[UUID] = field(default_factory=set)
updated_control_points: set[UUID] = field(default_factory=set)
@@ -106,12 +105,8 @@ class GameUpdateEvents:
self.selected_flight = None
return self
def new_front_line(self, front_line: FrontLine) -> GameUpdateEvents:
self.new_front_lines.add(front_line)
return self
def update_front_line(self, front_line: FrontLine) -> GameUpdateEvents:
self.updated_front_lines.add(front_line.id)
self.updated_front_lines.add(front_line)
return self
def delete_front_line(self, front_line: FrontLine) -> GameUpdateEvents:

View File

@@ -398,7 +398,7 @@ class ControlPoint(MissionTarget, SidcDescribable, ABC):
self.front_lines[connection] = front
connection.front_lines[self] = front
self.front_line_db.add(front.id, front)
events.new_front_line(front)
events.update_front_line(front)
def _remove_front_line_with(
self, connection: ControlPoint, events: GameUpdateEvents