From 57186d44b90641da5c15fdcebc4b30f9f3a1d174 Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Fri, 4 Jul 2025 22:17:21 +0200 Subject: [PATCH] Loaded state save --- PackageSources/js-bundle/package.json | 2 +- .../js-bundle/src/components/SBEntry/SBEntryF.tsx | 4 ++-- .../js-bundle/src/components/SBEntry/SBEntryPax.tsx | 4 ++-- PackageSources/js-bundle/src/components/pax/Pax.tsx | 6 +++++- PackageSources/js-bundle/src/types/WASMData.ts | 1 + PackageSources/wasm-module/load-manager.cpp | 6 ++++++ README.md | 1 - 7 files changed, 17 insertions(+), 7 deletions(-) diff --git a/PackageSources/js-bundle/package.json b/PackageSources/js-bundle/package.json index 42ab7af..7c6ac21 100644 --- a/PackageSources/js-bundle/package.json +++ b/PackageSources/js-bundle/package.json @@ -1,6 +1,6 @@ { "name": "tfdidesign-md11-load-manager", - "version": "0.1.64", + "version": "0.1.74", "description": "", "main": "index.js", "type": "module", diff --git a/PackageSources/js-bundle/src/components/SBEntry/SBEntryF.tsx b/PackageSources/js-bundle/src/components/SBEntry/SBEntryF.tsx index c9faf46..3f8bdc0 100644 --- a/PackageSources/js-bundle/src/components/SBEntry/SBEntryF.tsx +++ b/PackageSources/js-bundle/src/components/SBEntry/SBEntryF.tsx @@ -59,7 +59,7 @@ const SBEntryF: FC = ({ WASMData, loadingState, setLoadingState }) }; useEffect(() => { - if (!simBrief) return; + if (!simBrief || GSXActive()) return; setSBInFlight(true); @@ -80,7 +80,7 @@ const SBEntryF: FC = ({ WASMData, loadingState, setLoadingState }) setFuel(parseFloat((SBResponse.message as SimBrief).fuel as unknown as string) ?? 0); setSBInFlight(false); - }, [simBrief]); + }, [simBrief, GSXActive()]); useEffect( () => diff --git a/PackageSources/js-bundle/src/components/SBEntry/SBEntryPax.tsx b/PackageSources/js-bundle/src/components/SBEntry/SBEntryPax.tsx index 9a0fc43..b1dcf02 100644 --- a/PackageSources/js-bundle/src/components/SBEntry/SBEntryPax.tsx +++ b/PackageSources/js-bundle/src/components/SBEntry/SBEntryPax.tsx @@ -59,7 +59,7 @@ const SBEntryPax: FC = ({ WASMData, loadingState, setLoadingState }; useEffect(() => { - if (!simBrief) return; + if (!simBrief || GSXActive()) return; setSBInFlight(true); @@ -80,7 +80,7 @@ const SBEntryPax: FC = ({ WASMData, loadingState, setLoadingState setFuel(parseFloat((SBResponse.message as SimBrief).fuel as unknown as string) ?? 0); setSBInFlight(false); - }, [simBrief]); + }, [simBrief, GSXActive()]); useEffect( () => diff --git a/PackageSources/js-bundle/src/components/pax/Pax.tsx b/PackageSources/js-bundle/src/components/pax/Pax.tsx index 2ef75a2..ae6d688 100644 --- a/PackageSources/js-bundle/src/components/pax/Pax.tsx +++ b/PackageSources/js-bundle/src/components/pax/Pax.tsx @@ -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 = ({ WASMData, username }) => { ]; }; + useEffect(() => { + setLoadingState(WASMData.loaded ? 'loaded' : 'preview'); + }, [WASMData.loaded]); + return ( <> 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); diff --git a/README.md b/README.md index 9d4ded1..ab2af96 100644 --- a/README.md +++ b/README.md @@ -14,4 +14,3 @@ Build in sim TODO: - Disallow override of SB data -- Check if WSB can be overridden