forge/arma/client/addons/locker/XEH_postInitClient.sqf
Jacob Schmidt 6dda184d54 Wire store checkout flow across client and server
- Add checkout request/response bridge and workspace re-hydration in store UI
- Implement server-side checkout stores for charging bank/cash and granting locker/VA items
- Normalize catalog/cart payload categories and fix locker VA sync event naming
2026-03-12 21:44:19 -05:00

49 lines
1.3 KiB
Plaintext

#include "script_component.hpp"
if (isNil QGVAR(LockerClass)) then { call FUNC(initLockerClass); };
if (isNil QGVAR(VAClass)) then { call FUNC(initVAClass); };
[QGVAR(initLocker), {
GVAR(LockerClass) call ["init", []];
}] call CFUNC(addEventHandler);
[QGVAR(responseInitLocker), {
params [["_data", createHashMap, [createHashMap]]];
GVAR(LockerClass) call ["sync", [_data]];
}] call CFUNC(addEventHandler);
[QGVAR(responseSyncLocker), {
params [["_data", createHashMap, [createHashMap, []]], ["_jip", false, [false]]];
GVAR(LockerClass) call ["sync", [_data, _jip]];
}] call CFUNC(addEventHandler);
[QGVAR(initVA), {
GVAR(VAClass) call ["init", []];
}] call CFUNC(addEventHandler);
[QGVAR(responseInitVA), {
params [["_data", createHashMap, [createHashMap]]];
GVAR(VAClass) call ["sync", [_data]];
}] call CFUNC(addEventHandler);
[QGVAR(responseSyncVA), {
params [["_data", createHashMap, [createHashMap, []]], ["_jip", false, [false]]];
GVAR(VAClass) call ["sync", [_data, _jip]];
}] call CFUNC(addEventHandler);
[{
EGVAR(garage,GarageClass) get "isLoaded";
}, {
[QGVAR(initLocker), []] call CFUNC(localEvent);
}] call CFUNC(waitUntilAndExecute);
[{
GVAR(LockerClass) get "isLoaded";
}, {
[QGVAR(initVA), []] call CFUNC(localEvent);
}] call CFUNC(waitUntilAndExecute);