#include "..\script_component.hpp" /* * File: fnc_initActivityRepository.sqf * Author: IDSolutions * Date: 2026-03-30 * Public: No * * Description: * Initializes the CAD activity repository for recent operational events. * * Arguments: * None * * Return Value: * CAD activity repository object [HASHMAP OBJECT] * * Example: * call forge_server_cad_fnc_initActivityRepository */ #pragma hemtt ignore_variables ["_self"] GVAR(ActivityRepositoryBaseClass) = compileFinal createHashMapFromArray [ ["#type", "CadActivityRepositoryBaseClass"], ["#create", compileFinal { _self set ["activityRegistry", []]; }], ["appendActivity", compileFinal { params [ ["_type", "", [""]], ["_message", "", [""]], ["_taskID", "", [""]], ["_groupID", "", [""]], ["_actorUid", "", [""]] ]; if (_type isEqualTo "" || { _message isEqualTo "" }) exitWith { false }; private _activityRegistry = +(_self getOrDefault ["activityRegistry", []]); _activityRegistry pushBack createHashMapFromArray [ ["type", _type], ["message", _message], ["timestamp", serverTime], ["taskId", _taskID], ["groupId", _groupID], ["actorUid", _actorUid] ]; if ((count _activityRegistry) > 50) then { _activityRegistry deleteRange [0, (count _activityRegistry) - 50]; }; _self set ["activityRegistry", _activityRegistry]; true }], ["getActivity", compileFinal { +(_self getOrDefault ["activityRegistry", []]) }] ]; createHashMapObject [GVAR(ActivityRepositoryBaseClass)]