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
|
||||
loadout = self.members[0].loadout
|
||||
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
|
||||
|
||||
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()
|
||||
|
||||
def on_custom_toggled(self, use_custom: bool) -> None:
|
||||
@ -248,9 +251,11 @@ class QFlightPayloadTab(QFrame):
|
||||
else:
|
||||
member.loadout = self.current_loadout()
|
||||
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:
|
||||
loadout = self.flight.loadout
|
||||
loadout = self.member_selector.selected_member.loadout
|
||||
self.loadout_selector.addItem(payload_name, loadout)
|
||||
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()
|
||||
if self.member_selector.value():
|
||||
self.rebind_to_selected_member()
|
||||
else:
|
||||
self.flight.roster.use_distinct_loadouts_for_each_member()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user