mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Made it possible to toggle 'flight paths' visibility.
This commit is contained in:
parent
074ea5c719
commit
5884d9d120
@ -28,6 +28,7 @@ class QLiberationMap(QGraphicsView):
|
|||||||
"lines": True,
|
"lines": True,
|
||||||
"events": True,
|
"events": True,
|
||||||
"sam": True,
|
"sam": True,
|
||||||
|
"flight_paths": False
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, game: Game):
|
def __init__(self, game: Game):
|
||||||
@ -120,17 +121,18 @@ class QLiberationMap(QGraphicsView):
|
|||||||
if self.get_display_rule("lines"):
|
if self.get_display_rule("lines"):
|
||||||
self.scene_create_lines_for_cp(cp)
|
self.scene_create_lines_for_cp(cp)
|
||||||
|
|
||||||
if cp.id in self.game.planners.keys():
|
if self.get_display_rule("flight_paths"):
|
||||||
planner = self.game.planners[cp.id]
|
if cp.id in self.game.planners.keys():
|
||||||
for flight in planner.flights:
|
planner = self.game.planners[cp.id]
|
||||||
scene.addEllipse(pos[0], pos[1], 4, 4)
|
for flight in planner.flights:
|
||||||
prev_pos = list(pos)
|
scene.addEllipse(pos[0], pos[1], 4, 4)
|
||||||
for point in flight.points:
|
prev_pos = list(pos)
|
||||||
new_pos = self._transform_point(Point(point.x, point.y))
|
for point in flight.points:
|
||||||
scene.addLine(prev_pos[0]+2, prev_pos[1]+2, new_pos[0]+2, new_pos[1]+2, flight_path_pen)
|
new_pos = self._transform_point(Point(point.x, point.y))
|
||||||
scene.addEllipse(new_pos[0], new_pos[1], 4, 4, pen, brush)
|
scene.addLine(prev_pos[0]+2, prev_pos[1]+2, new_pos[0]+2, new_pos[1]+2, flight_path_pen)
|
||||||
prev_pos = list(new_pos)
|
scene.addEllipse(new_pos[0], new_pos[1], 4, 4, pen, brush)
|
||||||
scene.addLine(prev_pos[0] + 2, prev_pos[1] + 2, pos[0] + 2, pos[1] + 2, flight_path_pen)
|
prev_pos = list(new_pos)
|
||||||
|
scene.addLine(prev_pos[0] + 2, prev_pos[1] + 2, pos[0] + 2, pos[1] + 2, flight_path_pen)
|
||||||
|
|
||||||
def scene_create_lines_for_cp(self, cp: ControlPoint):
|
def scene_create_lines_for_cp(self, cp: ControlPoint):
|
||||||
scene = self.scene()
|
scene = self.scene()
|
||||||
|
|||||||
@ -124,11 +124,17 @@ class QLiberationWindow(QMainWindow):
|
|||||||
tg_sam_visibility.setChecked(True)
|
tg_sam_visibility.setChecked(True)
|
||||||
tg_sam_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("sam", tg_sam_visibility.isChecked()))
|
tg_sam_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("sam", tg_sam_visibility.isChecked()))
|
||||||
|
|
||||||
|
tg_flight_path_visibility = QAction('Flight Paths', displayMenu)
|
||||||
|
tg_flight_path_visibility.setCheckable(True)
|
||||||
|
tg_flight_path_visibility.setChecked(False)
|
||||||
|
tg_flight_path_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("flight_paths", tg_flight_path_visibility.isChecked()))
|
||||||
|
|
||||||
displayMenu.addAction(tg_go_visibility)
|
displayMenu.addAction(tg_go_visibility)
|
||||||
displayMenu.addAction(tg_cp_visibility)
|
displayMenu.addAction(tg_cp_visibility)
|
||||||
displayMenu.addAction(tg_line_visibility)
|
displayMenu.addAction(tg_line_visibility)
|
||||||
displayMenu.addAction(tg_event_visibility)
|
displayMenu.addAction(tg_event_visibility)
|
||||||
displayMenu.addAction(tg_sam_visibility)
|
displayMenu.addAction(tg_sam_visibility)
|
||||||
|
displayMenu.addAction(tg_flight_path_visibility)
|
||||||
|
|
||||||
def newGame(self):
|
def newGame(self):
|
||||||
wizard = NewGameWizard(self)
|
wizard = NewGameWizard(self)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user