Files
xkhofmann-tfdidesign-md11-l…/PackageSources/js-bundle/src/utils/utils.ts
T
2025-06-19 16:05:54 +02:00

135 lines
2.9 KiB
TypeScript

import {
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
MODE_LOAD_SET,
MODE_OPTIONS_SET,
MODE_SB_SET,
MODE_STATION_SET,
MODE_UNLOAD_SET,
MODE_ZFW_SET,
} from '../constants';
import { SimBrief } from '../types/general';
export const loadAircraft = () => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_LOAD_SET,
})
);
};
export const unloadAircraft = () => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_UNLOAD_SET,
})
);
};
export const inRangeOf = (value: number, target: number, tolerance: number = 10) => {
return Math.abs(value - target) < tolerance;
};
export const CoherentCallZFWEntry = (ZFWTarget: number, CGTarget: number) => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_ZFW_SET,
ZFWTarget: ZFWTarget,
CGTarget: CGTarget,
})
);
};
export const CoherentCallStationEntryPax = (
business1: number,
business2: number,
economy1: number,
economy2: number,
forwardCargo: number,
rearCargo: number
) => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_STATION_SET,
business1,
business2,
economy1,
economy2,
forwardCargo,
rearCargo,
})
);
};
export const CoherentCallStationEntryF = (
upper1: number,
upper2: number,
upper3: number,
upper4: number,
lowerForward: number,
lowerRear: number
) => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_STATION_SET,
upper1,
upper2,
upper3,
upper4,
lowerForward,
lowerRear,
})
);
};
export const CoherentCallSBEntryPax = (CGTarget: number, SBPlan?: SimBrief) => {
const payload = {
mode: MODE_SB_SET,
cargo: SBPlan?.cargo,
numPax: SBPlan ? parseInt(SBPlan.pax as unknown as string) : undefined,
CGTarget: CGTarget,
plannedZFW: SBPlan?.plannedZFW,
plannedGW: SBPlan?.plannedGW,
};
const string = JSON.stringify(payload);
Coherent.call(COHERENT_COMM_BUS_WASM_CALL, COMM_BUS_UPDATE_TARGET_EVENT, string);
};
export const CoherentCallSBEntryF = (CGTarget: number, SBPlan?: SimBrief) => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_SB_SET,
cargo: SBPlan?.cargo,
CGTarget: CGTarget,
plannedZFW: SBPlan?.plannedZFW,
plannedGW: SBPlan?.plannedGW,
})
);
};
export const CoherentCallOptionsSet = (GSXSync?: boolean, paxWeight?: number, bagWeight?: number) => {
Coherent.call(
COHERENT_COMM_BUS_WASM_CALL,
COMM_BUS_UPDATE_TARGET_EVENT,
JSON.stringify({
mode: MODE_OPTIONS_SET,
GSXSync,
paxWeight,
bagWeight,
})
);
};