#include "script_component.hpp" /* * Author: Alganthe * Remove a stat from ACE Arsenal. * * Arguments: * 0: Array of IDs (ARRAY) * * Return Value: * None * * Example: * [["scopeStatL00","scopeStatL01","scopeStatL02","scopeStatR07"]] call ace_arsenal_fnc_removeStat; * * Public: Yes */ params ["_IDList"]; call FUNC(compileStats); { private _currentID = _x; private _stringCount = count _currentID; private _side = _currentID select [_stringCount - 3, 1]; private _tab = _currentID select [_stringCount - 2, 2]; _tab = parseNumber _tab; private _tabToChange = if (_side == "R") then { GVAR(statsListRightPanel) select _tab } else { GVAR(statsListLeftPanel) select _tab }; { _x deleteAt (_x findIf {_x select 0 == _currentID}); } foreach _tabToChange; } foreach _IDList; // Clear empty pages private _fnc_deleteEmptyPage = { params ["_list"]; { private _evaluatedTab = _forEachIndex; { if (count _x == 0) then { _markedForDeletion pushBack [_evaluatedTab, _forEachIndex]; }; } foreach _x; { (_list select (_x select 0)) deleteAt (_x select 1); } foreach _markedForDeletion; } foreach (_this select 0); }; private _markedForDeletion = []; [GVAR(statsListLeftPanel)] call _fnc_deleteEmptyPage; [GVAR(statsListRightPanel)] call _fnc_deleteEmptyPage;