mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Fix synchronization of loadouts on change.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/3111.
This commit is contained in:
parent
04974c3c0b
commit
0b7acbc94e
@ -91,4 +91,10 @@ class FlightMembers(IFlightRoster):
|
|||||||
return
|
return
|
||||||
loadout = self.members[0].loadout
|
loadout = self.members[0].loadout
|
||||||
for member in self.members[1:]:
|
for member in self.members[1:]:
|
||||||
member.loadout = loadout.clone()
|
# Do not clone the loadout, we want any changes in the UI to be mirrored
|
||||||
|
# across all flight members.
|
||||||
|
member.loadout = loadout
|
||||||
|
|
||||||
|
def use_distinct_loadouts_for_each_member(self) -> None:
|
||||||
|
for member in self.members:
|
||||||
|
member.loadout = member.loadout.clone()
|
||||||
|
|||||||
@ -236,7 +236,10 @@ class QFlightPayloadTab(QFrame):
|
|||||||
return loadout
|
return loadout
|
||||||
|
|
||||||
def on_new_loadout(self, index: int) -> None:
|
def on_new_loadout(self, index: int) -> None:
|
||||||
self.member_selector.selected_member.loadout = self.loadout_at(index)
|
loadout = self.loadout_at(index)
|
||||||
|
self.member_selector.selected_member.loadout = loadout
|
||||||
|
if self.flight.use_same_loadout_for_all_members:
|
||||||
|
self.flight.roster.use_same_loadout_for_all_members()
|
||||||
self.payload_editor.reset_pylons()
|
self.payload_editor.reset_pylons()
|
||||||
|
|
||||||
def on_custom_toggled(self, use_custom: bool) -> None:
|
def on_custom_toggled(self, use_custom: bool) -> None:
|
||||||
@ -248,9 +251,11 @@ class QFlightPayloadTab(QFrame):
|
|||||||
else:
|
else:
|
||||||
member.loadout = self.current_loadout()
|
member.loadout = self.current_loadout()
|
||||||
self.payload_editor.reset_pylons()
|
self.payload_editor.reset_pylons()
|
||||||
|
if self.flight.use_same_loadout_for_all_members:
|
||||||
|
self.flight.roster.use_same_loadout_for_all_members()
|
||||||
|
|
||||||
def on_saved_payload(self, payload_name: str) -> None:
|
def on_saved_payload(self, payload_name: str) -> None:
|
||||||
loadout = self.flight.loadout
|
loadout = self.member_selector.selected_member.loadout
|
||||||
self.loadout_selector.addItem(payload_name, loadout)
|
self.loadout_selector.addItem(payload_name, loadout)
|
||||||
self.loadout_selector.setCurrentIndex(self.loadout_selector.count() - 1)
|
self.loadout_selector.setCurrentIndex(self.loadout_selector.count() - 1)
|
||||||
|
|
||||||
@ -263,3 +268,5 @@ class QFlightPayloadTab(QFrame):
|
|||||||
self.flight.roster.use_same_loadout_for_all_members()
|
self.flight.roster.use_same_loadout_for_all_members()
|
||||||
if self.member_selector.value():
|
if self.member_selector.value():
|
||||||
self.rebind_to_selected_member()
|
self.rebind_to_selected_member()
|
||||||
|
else:
|
||||||
|
self.flight.roster.use_distinct_loadouts_for_each_member()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user