Arsenal - Add FUNC(getVirtualItems) (#9512)

add API
This commit is contained in:
Grim 2023-10-18 14:51:00 -04:00 committed by GitHub
parent b2b49cc993
commit 209edf0433
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 0 deletions

View File

@ -39,6 +39,7 @@ PREP(fillLeftPanel);
PREP(fillLoadoutsList);
PREP(fillRightPanel);
PREP(fillSort);
PREP(getVirtualItems);
PREP(handleActions);
PREP(handleLoadoutsSearchbar);
PREP(handleMouse);

View File

@ -0,0 +1,39 @@
#include "..\script_component.hpp"
#include "..\defines.hpp"
/*
* Author: johnb43, Grim
* Gets list of virtual items available to the object.
*
* Arguments:
* 0: Target <OBJECT>
*
* Return Value:
* Virtual Items <HASHMAP>
*
* Example:
* cursorObject call ace_arsenal_fnc_getVirtualItems
*
* Public: Yes
*/
params [["_object", objNull, [objNull]]];
private _virtualItems = _object getVariable QGVAR(virtualItems);
if (isNil "_virtualItems") exitWith {createHashMap};
private _virtualItemsFlat = +_virtualItems;
private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS;
private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS;
for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do {
_virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true];
};
for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do {
_virtualItemsFlat merge [_weapons deleteAt _index, true];
};
for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do {
_virtualItemsFlat merge [_attachments deleteAt _index, true];
};
_virtualItemsFlat // return