#include "script_component.hpp" call FUNC(initAdmin); call FUNC(initAdminStore); [QGVAR(handleEvents), { params ["_event", "_params"]; diag_log format ["[FORGE: Admin] Received event: %1 with params: %2", _event, _params]; switch (_event) do { case "advanceAll": { private _adminStore = call FUNC(verifyAdminStore); _params params ["_amount"]; if (isNil "_amount") exitWith { diag_log "Amount cannot be empty!"; }; _adminStore call ["handleTransfer", ["advanceAll", _amount]]; }; case "handlePayday": { private _adminStore = call FUNC(verifyAdminStore); _adminStore call ["handleTransfer", ["payday"]]; }; case "handleTransfer": { private _adminStore = call FUNC(verifyAdminStore); _params params ["_condition", "_amount", "_uid"]; if (isNil "_condition") exitWith { diag_log "Condition cannot be empty!"; }; _adminStore call ["handleTransfer", [_condition, _amount, _uid]]; }; case "sendMessage": { private _adminStore = call FUNC(verifyAdminStore); _params params ["_uid", "_message"]; if (isNil "_message") exitWith { diag_log "Message cannot be empty!"; }; if (_uid isEqualTo "") then { _adminStore call ["broadcastMessage", [_message]]; } else { _adminStore call ["sendMessage", [_uid, _message]]; }; }; case "updatePaygrade": { private _adminStore = call FUNC(verifyAdminStore); _params params ["_uid", "_paygrade"]; if (_uid isEqualTo "" && _paygrade isEqualTo "") exitWith { diag_log "UID or Paygrade cannot be empty!"; }; _adminStore call ["updatePaygrade", [_uid, _paygrade]]; }; default { diag_log format ["Unknown event: %1 with params: %2", _event, _params]; }; }; }] call CFUNC(addEventHandler);