#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 ["taskCatalog", []]; }], ["pushTaskCatalog", compileFinal { params [["_bridge", createHashMap, [createHashMap]]]; if (_bridge isEqualTo createHashMap) exitWith { false }; _bridge call ["sendEvent", ["cad::tasks::hydrate", createHashMapFromArray [ ["tasks", +(_self getOrDefault ["taskCatalog", []])] ]]] }], ["setTaskCatalog", compileFinal { params [["_entries", [], [[]]]]; _self set ["taskCatalog", +_entries]; true }], ["setOpen", compileFinal { params [["_isOpen", false, [false]]]; _self set ["isOpen", _isOpen]; true }] ]]; GVAR(CADRepository)