#include "..\script_component.hpp" /* * Function: forge_client_admin_fnc_handleEvents * Author: IDSolutions * * [Description] * Handles events from the admin interface. * This function listens for events from the admin interface * and processes them accordingly. * * Arguments: * 0: Event - The event to handle * 1: Data - The data associated with the event * * Return Value: * None * * Examples: * ["EVENT_NAME", "DATA"] call forge_client_admin_fnc_handleEvents; * * Public: No - Called from admin dialog controls */ params ["_control", "_isConfirmDialog", "_message"]; diag_log format ["[FORGE: Admin] Received event: %1", _message]; private _messageParts = _message splitString ":"; private _event = _messageParts select 0; private _data = _messageParts select 1; switch (_event) do { case "REQUEST_PLAYER_DATA": { private _playerData = createHashMap; private _playerList = []; { private _player = _x; private _uid = getPlayerUID _player; private _name = name _player; private _paygrade = GETVAR(_player,FORGE_PayGrade,QUOTE(E1)); private _funds = GETVAR(_player,FORGE_BankBalance,0); private _playerInfo = createHashMapFromArray [ ["uid", _uid], ["name", _name], ["paygrade", _paygrade], ["funds", _funds], ["side", str (side _player)] ]; _playerList pushBack _playerInfo; } forEach allPlayers; _playerData set ["players", _playerList]; _control ctrlWebBrowserAction ["ExecJS", format ["handlePlayerDataRequest(%1)", (toJSON _playerList)]]; }; default { diag_log format ["[FORGE: Admin] Unknown event: %1", _event]; }; };