#include "..\script_component.hpp" /* * File: fnc_initRepository.sqf * Author: IDSolutions * Date: 2026-03-28 * Public: No * * Description: * Initializes the CAD repository for lightweight client lifecycle state. * * Arguments: * None * * Return Value: * CAD repository object [HASHMAP OBJECT] * * Example: * call forge_client_cad_fnc_initRepository */ #pragma hemtt ignore_variables ["_self"] GVAR(CADRepository) = createHashMapObject [[ ["#type", "CADRepository"], ["#create", compileFinal { _self set ["isLoaded", true]; _self set ["isOpen", false]; _self set ["groups", []]; _self set ["contracts", []]; _self set ["assignments", []]; _self set ["activity", []]; _self set ["session", createHashMap]; }], ["pushHydratePayload", compileFinal { params [["_bridge", createHashMap, [createHashMap]]]; if (_bridge isEqualTo createHashMap) exitWith { false }; _bridge call ["sendEvent", ["cad::hydrate", createHashMapFromArray [ ["groups", +(_self getOrDefault ["groups", []])], ["contracts", +(_self getOrDefault ["contracts", []])], ["assignments", +(_self getOrDefault ["assignments", []])], ["activity", +(_self getOrDefault ["activity", []])], ["session", +(_self getOrDefault ["session", createHashMap])] ]]] }], ["setHydratePayload", compileFinal { params [["_payload", createHashMap, [createHashMap]]]; _self set ["groups", +(_payload getOrDefault ["groups", []])]; _self set ["contracts", +(_payload getOrDefault ["contracts", []])]; _self set ["assignments", +(_payload getOrDefault ["assignments", []])]; _self set ["activity", +(_payload getOrDefault ["activity", []])]; _self set ["session", +(_payload getOrDefault ["session", createHashMap])]; true }], ["setOpen", compileFinal { params [["_isOpen", false, [false]]]; _self set ["isOpen", _isOpen]; true }] ]]; GVAR(CADRepository)