mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Fix synchronization of loadouts on change.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/3111.
This commit is contained in:
parent
b893378abe
commit
160d464f9a
@ -82,4 +82,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()
|
||||||
|
|||||||
@ -165,7 +165,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:
|
||||||
@ -178,6 +181,9 @@ class QFlightPayloadTab(QFrame):
|
|||||||
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_same_loadout_toggled(self, checked: bool) -> None:
|
def on_same_loadout_toggled(self, checked: bool) -> None:
|
||||||
self.flight.use_same_loadout_for_all_members = checked
|
self.flight.use_same_loadout_for_all_members = checked
|
||||||
if self.member_selector.value():
|
if self.member_selector.value():
|
||||||
@ -187,3 +193,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