Loaded state save

This commit is contained in:
Kilian Hofmann 2025-07-04 22:17:21 +02:00
parent c7e9bff5e2
commit 57186d44b9
7 changed files with 17 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{
"name": "tfdidesign-md11-load-manager",
"version": "0.1.64",
"version": "0.1.74",
"description": "",
"main": "index.js",
"type": "module",

View File

@ -59,7 +59,7 @@ const SBEntryF: FC<SBEntryProps> = ({ WASMData, loadingState, setLoadingState })
};
useEffect(() => {
if (!simBrief) return;
if (!simBrief || GSXActive()) return;
setSBInFlight(true);
@ -80,7 +80,7 @@ const SBEntryF: FC<SBEntryProps> = ({ WASMData, loadingState, setLoadingState })
setFuel(parseFloat((SBResponse.message as SimBrief).fuel as unknown as string) ?? 0);
setSBInFlight(false);
}, [simBrief]);
}, [simBrief, GSXActive()]);
useEffect(
() =>

View File

@ -59,7 +59,7 @@ const SBEntryPax: FC<SBEntryProps> = ({ WASMData, loadingState, setLoadingState
};
useEffect(() => {
if (!simBrief) return;
if (!simBrief || GSXActive()) return;
setSBInFlight(true);
@ -80,7 +80,7 @@ const SBEntryPax: FC<SBEntryProps> = ({ WASMData, loadingState, setLoadingState
setFuel(parseFloat((SBResponse.message as SimBrief).fuel as unknown as string) ?? 0);
setSBInFlight(false);
}, [simBrief]);
}, [simBrief, GSXActive()]);
useEffect(
() =>

View File

@ -1,4 +1,4 @@
import { FC, useState } from 'react';
import { FC, useEffect, useState } from 'react';
import { GSX_SERVICE_CALLED, GSX_SERVICE_FINISHED } from '../../constants';
import { LoadingState } from '../../types/general';
import { WASMDataPax } from '../../types/WASMData';
@ -84,6 +84,10 @@ const Pax: FC<PaxProps> = ({ WASMData, username }) => {
];
};
useEffect(() => {
setLoadingState(WASMData.loaded ? 'loaded' : 'preview');
}, [WASMData.loaded]);
return (
<>
<Profile

View File

@ -6,6 +6,7 @@ interface WASMData {
ZFW: number;
GW: number;
};
loaded: boolean;
}
export interface WASMDataPax extends WASMData {

View File

@ -9,6 +9,7 @@ fPayloadData_t* liveFPayloadData;
fPayloadData_t* targetFPayloadData;
FuelData_t* liveFuelData;
UserOptions_t* UserOptions;
bool AircraftLoaded;
// Operational
bool commBusCallbackRegistered;
@ -597,6 +598,8 @@ int receiveData(const char* buf) {
load(targetPaxPayloadData, simConnect, UserData->isImperial);
}
AircraftLoaded = true;
break;
}
// Trigger unload
@ -608,6 +611,8 @@ int receiveData(const char* buf) {
unload(simConnect, UserData->isER);
}
AircraftLoaded = false;
break;
}
// Option set
@ -847,6 +852,7 @@ void sendData () {
document.AddMember("limits", limits.Move(), allocator);
document.AddMember("options", options.Move(), allocator);
document.AddMember("sbPlanned", sbPlanned.Move(), allocator);
document.AddMember("loaded", AircraftLoaded, allocator);
// Write to CommBus
document.Accept(writer);

View File

@ -14,4 +14,3 @@ Build in sim
TODO:
- Disallow override of SB data
- Check if WSB can be overridden