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, }) ); };