62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
#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 <STRING> - The event to handle
|
|
* 1: Data <ANY> - 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];
|
|
};
|
|
}; |