Fine-tune "save payload" logic

This commit is contained in:
Raffson 2023-07-21 22:20:54 +02:00
parent 64f6a10ced
commit 15be9e3ce1
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99

View File

@ -79,17 +79,19 @@ class QLoadoutEditor(QGroupBox):
ac_type = self.flight.unit_type.dcs_unit_type
ac_id = ac_type.id
payload_file = dcs.payloads.PayloadDirectories.user() / f"{ac_id}.lua"
ac_type.payloads.update(
key=payload_name,
value=DcsPayload.from_flight(self.flight, payload_name).to_dict(),
)
ac_type.payloads[payload_name] = DcsPayload.from_flight(
self.flight, payload_name
).to_dict()
if payload_file.exists():
self._create_backup_if_needed(ac_id)
with payload_file.open("r", encoding="utf-8") as f:
payloads = dcs.lua.loads(f.read())
if payloads:
pdict = payloads["unitPayloads"]["payloads"]
next_key = max(pdict.keys()) + 1
next_key = len(pdict) + 1
for p in pdict:
if pdict[p]["name"] == payload_name:
next_key = p
pdict[next_key] = DcsPayload.from_flight(
self.flight, payload_name
).to_dict()