mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Arsenal - Less magic numbers (#8089)
* Add macro for virtualItems index 0 (weapons) * Add macro for virtualItems index 1 (attachments) * Add macro for virtualItems index 2 (all items) * Add macro for virtualItems index 3 (headgear) * Add macro for virtualItems index 4 (uniform) * Add macro for virtualItems index 5 (vest) * Add macro for virtualItems index 6 (backpack) * Add macro for virtualItems index 7 (goggles)
This commit is contained in:
parent
b2da1792e1
commit
4d71607e81
@ -165,6 +165,18 @@
|
||||
#define IDC_ATTRIBUTE_IMPORT_BUTTON 8109
|
||||
#define IDC_ATTRIBUTE_ADD_COMPATIBLE 8110
|
||||
|
||||
// Indexes of virtual items array
|
||||
#define IDX_VIRT_WEAPONS 0
|
||||
#define IDX_VIRT_ATTACHEMENTS 1
|
||||
|
||||
#define IDX_VIRT_ITEMS_ALL 2
|
||||
|
||||
#define IDX_VIRT_HEADGEAR 3
|
||||
#define IDX_VIRT_UNIFORM 4
|
||||
#define IDX_VIRT_VEST 5
|
||||
#define IDX_VIRT_BACKPACK 6
|
||||
#define IDX_VIRT_GOGGLES 7
|
||||
|
||||
#define SYMBOL_ITEM_NONE "−"
|
||||
#define SYMBOL_ITEM_REMOVE "×"
|
||||
#define SYMBOL_ITEM_VIRTUAL "∞"
|
||||
|
@ -51,7 +51,7 @@ switch true do {
|
||||
|
||||
{
|
||||
["CfgWeapons", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach ((GVAR(virtualItems) select 0) select ([IDC_buttonPrimaryWeapon, IDC_buttonSecondaryWeapon, IDC_buttonHandgun] find _ctrlIDC));
|
||||
} foreach ((GVAR(virtualItems) select IDX_VIRT_WEAPONS) select ([IDC_buttonPrimaryWeapon, IDC_buttonSecondaryWeapon, IDC_buttonHandgun] find _ctrlIDC));
|
||||
};
|
||||
|
||||
case (_ctrlIDC in [IDC_buttonUniform, IDC_buttonVest, IDC_buttonBackpack]) : {
|
||||
@ -65,19 +65,19 @@ switch true do {
|
||||
case IDC_buttonUniform : {
|
||||
{
|
||||
["CfgWeapons", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach (GVAR(virtualItems) select 4);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_UNIFORM);
|
||||
};
|
||||
|
||||
case IDC_buttonVest : {
|
||||
{
|
||||
["CfgWeapons", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach (GVAR(virtualItems) select 5);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_VEST);
|
||||
};
|
||||
|
||||
case IDC_buttonBackpack : {
|
||||
{
|
||||
["CfgVehicles", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach (GVAR(virtualItems) select 6);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_BACKPACK);
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -96,12 +96,12 @@ switch true do {
|
||||
case IDC_buttonHeadgear: {
|
||||
{
|
||||
["CfgWeapons", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach (GVAR(virtualItems) select 3);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_HEADGEAR);
|
||||
};
|
||||
case IDC_buttonGoggles : {
|
||||
{
|
||||
["CfgGlasses", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach (GVAR(virtualItems) select 7);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_GOGGLES);
|
||||
};
|
||||
case IDC_buttonNVG : {
|
||||
{
|
||||
|
@ -224,7 +224,7 @@ switch (_ctrlIDC) do {
|
||||
if (_leftPanelState) then {
|
||||
{
|
||||
["CfgMagazines", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach ((GVAR(virtualItems) select 2) arrayIntersect _compatibleMagsPrimaryMuzzle);
|
||||
} foreach ((GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) arrayIntersect _compatibleMagsPrimaryMuzzle);
|
||||
};
|
||||
};
|
||||
|
||||
@ -232,14 +232,14 @@ switch (_ctrlIDC) do {
|
||||
if (_leftPanelState) then {
|
||||
{
|
||||
["CfgMagazines", _x, _ctrlPanel] call FUNC(addListBoxItem);
|
||||
} foreach ((GVAR(virtualItems) select 2) arrayIntersect _compatibleMagsSecondaryMuzzle);
|
||||
} foreach ((GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) arrayIntersect _compatibleMagsSecondaryMuzzle);
|
||||
};
|
||||
};
|
||||
|
||||
case IDC_buttonMag : {
|
||||
{
|
||||
["CfgMagazines", _x, true] call _fnc_fill_right_Container;
|
||||
} foreach ((GVAR(virtualItems) select 2) arrayIntersect _allCompatibleMags);
|
||||
} foreach ((GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) arrayIntersect _allCompatibleMags);
|
||||
{
|
||||
["CfgMagazines", _x, true, true] call _fnc_fill_right_Container;
|
||||
} foreach ((GVAR(virtualItems) select 19) arrayIntersect _allCompatibleMags);
|
||||
@ -248,7 +248,7 @@ switch (_ctrlIDC) do {
|
||||
case IDC_buttonMagALL : {
|
||||
{
|
||||
["CfgMagazines", _x, true] call _fnc_fill_right_Container;
|
||||
} foreach (GVAR(virtualItems) select 2);
|
||||
} foreach (GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL);
|
||||
{
|
||||
["CfgMagazines", _x, true, true] call _fnc_fill_right_Container;
|
||||
} foreach (GVAR(virtualItems) select 19);
|
||||
|
@ -64,7 +64,7 @@ GVAR(statsInfo) = [true, 0, controlNull, nil, nil];
|
||||
for "_index" from 0 to 10 do {
|
||||
switch (_index) do {
|
||||
// primary, secondary, handgun weapons
|
||||
case 0: {
|
||||
case IDX_VIRT_WEAPONS: {
|
||||
private _array = LIST_DEFAULTS select _index;
|
||||
|
||||
if ((_array select 0) isNotEqualTo "") then {
|
||||
@ -81,7 +81,7 @@ for "_index" from 0 to 10 do {
|
||||
};
|
||||
|
||||
// Accs for the weapons above
|
||||
case 1: {
|
||||
case IDX_VIRT_ATTACHEMENTS: {
|
||||
private _array = LIST_DEFAULTS select _index;
|
||||
_array params ["_accsArray", "_magsArray"];
|
||||
|
||||
@ -99,18 +99,18 @@ for "_index" from 0 to 10 do {
|
||||
if (_x isNotEqualTo []) then {
|
||||
|
||||
if (_x select 0 != "") then {
|
||||
(GVAR(virtualItems) select 2) pushBackUnique (_x select 0);
|
||||
(GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) pushBackUnique (_x select 0);
|
||||
};
|
||||
|
||||
if (count _x > 1 && {_x select 1 != ""}) then {
|
||||
(GVAR(virtualItems) select 2) pushBackUnique (_x select 1);
|
||||
(GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) pushBackUnique (_x select 1);
|
||||
};
|
||||
};
|
||||
} forEach _magsArray;
|
||||
};
|
||||
|
||||
// Inventory items
|
||||
case 2: {
|
||||
case IDX_VIRT_ITEMS_ALL: {
|
||||
call FUNC(updateUniqueItemsList);
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ GVAR(virtualItems) set [22, [[], [], [], []]];
|
||||
GVAR(virtualItems) set [23, []];
|
||||
GVAR(virtualItems) set [24, []];
|
||||
|
||||
private _array = LIST_DEFAULTS select 2;
|
||||
private _array = LIST_DEFAULTS select IDX_VIRT_ITEMS_ALL;
|
||||
private _itemsCache = uiNamespace getVariable QGVAR(configItems);
|
||||
|
||||
private _configCfgWeapons = configFile >> "CfgWeapons";
|
||||
@ -35,7 +35,7 @@ private _configGlasses = configFile >> "CfgGlasses";
|
||||
case (
|
||||
isClass (_configMagazines >> _x) &&
|
||||
{_x in (_itemsCache select 2)} &&
|
||||
{!(_x in (GVAR(virtualItems) select 2))}
|
||||
{!(_x in (GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL))}
|
||||
): {
|
||||
(GVAR(virtualItems) select 19) pushBackUnique _x;
|
||||
};
|
||||
@ -61,7 +61,7 @@ private _configGlasses = configFile >> "CfgGlasses";
|
||||
// acc
|
||||
case (
|
||||
isClass (_configCfgWeapons >> _x) &&
|
||||
{!(_x in ((GVAR(virtualItems) select 1) select 0))} &&
|
||||
{!(_x in ((GVAR(virtualItems) select IDX_VIRT_ATTACHEMENTS) select 0))} &&
|
||||
{_x in ((_itemsCache select 1) select 0)}
|
||||
): {
|
||||
((GVAR(virtualItems) select 22) select 0) pushBackUnique _x;
|
||||
@ -70,7 +70,7 @@ private _configGlasses = configFile >> "CfgGlasses";
|
||||
// acc
|
||||
case (
|
||||
isClass (_configCfgWeapons >> _x) &&
|
||||
{!(_x in ((GVAR(virtualItems) select 1) select 1))} &&
|
||||
{!(_x in ((GVAR(virtualItems) select IDX_VIRT_ATTACHEMENTS) select 1))} &&
|
||||
{_x in ((_itemsCache select 1) select 1)}
|
||||
): {
|
||||
((GVAR(virtualItems) select 22) select 1) pushBackUnique _x;
|
||||
@ -79,7 +79,7 @@ private _configGlasses = configFile >> "CfgGlasses";
|
||||
// acc
|
||||
case (
|
||||
isClass (_configCfgWeapons >> _x) &&
|
||||
{!(_x in ((GVAR(virtualItems) select 1) select 2))} &&
|
||||
{!(_x in ((GVAR(virtualItems) select IDX_VIRT_ATTACHEMENTS) select 2))} &&
|
||||
{_x in ((_itemsCache select 1) select 2)}
|
||||
): {
|
||||
((GVAR(virtualItems) select 22) select 2) pushBackUnique _x;
|
||||
@ -87,7 +87,7 @@ private _configGlasses = configFile >> "CfgGlasses";
|
||||
// acc
|
||||
case (
|
||||
isClass (_configCfgWeapons >> _x) &&
|
||||
{!(_x in ((GVAR(virtualItems) select 1) select 3))} &&
|
||||
{!(_x in ((GVAR(virtualItems) select IDX_VIRT_ATTACHEMENTS) select 3))} &&
|
||||
{_x in ((_itemsCache select 1) select 3)}
|
||||
): {
|
||||
((GVAR(virtualItems) select 22) select 3) pushBackUnique _x;
|
||||
|
@ -19,8 +19,8 @@ private _weaponCfg = configFile >> "CfgWeapons";
|
||||
private _magCfg = configFile >> "CfgMagazines";
|
||||
private _vehcCfg = configFile >> "CfgVehicles";
|
||||
private _glassesCfg = configFile >> "CfgGlasses";
|
||||
private _weaponsArray = GVAR(virtualItems) select 0;
|
||||
private _accsArray = GVAR(virtualItems) select 1;
|
||||
private _weaponsArray = GVAR(virtualItems) select IDX_VIRT_WEAPONS;
|
||||
private _accsArray = GVAR(virtualItems) select IDX_VIRT_ATTACHEMENTS;
|
||||
|
||||
private _nullItemsAmount = 0;
|
||||
private _unavailableItemsAmount = 0;
|
||||
@ -58,7 +58,7 @@ private _fnc_weaponCheck = {
|
||||
private _mag = _x select 0;
|
||||
|
||||
if (isClass (_magCfg >> _mag)) then {
|
||||
if !(_mag in (GVAR(virtualItems) select 2)) then {
|
||||
if !(_mag in (GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL)) then {
|
||||
|
||||
_unavailableItemsList pushBackUnique _mag;
|
||||
_dataPath set [_forEachIndex, []];
|
||||
@ -137,7 +137,7 @@ for "_dataIndex" from 0 to 9 do {
|
||||
|
||||
if (isClass (_magCfg >> _item)) then {
|
||||
if !(
|
||||
_item in (GVAR(virtualItems) select 2) ||
|
||||
_item in (GVAR(virtualItems) select IDX_VIRT_ITEMS_ALL) ||
|
||||
_item in (GVAR(virtualItems) select 15) ||
|
||||
_item in (GVAR(virtualItems) select 16)
|
||||
) then {
|
||||
@ -173,7 +173,7 @@ for "_dataIndex" from 0 to 9 do {
|
||||
|
||||
if (isClass (_weaponCfg >> _item)) then {
|
||||
|
||||
if !(_item in (GVAR(virtualItems) select 3)) then {
|
||||
if !(_item in (GVAR(virtualItems) select IDX_VIRT_HEADGEAR)) then {
|
||||
|
||||
_unavailableItemsList pushBackUnique _item;
|
||||
_loadout set [_dataIndex, ""];
|
||||
@ -195,7 +195,7 @@ for "_dataIndex" from 0 to 9 do {
|
||||
|
||||
if (isClass (_glassesCfg >> _item)) then {
|
||||
|
||||
if !(_item in (GVAR(virtualItems) select 7)) then {
|
||||
if !(_item in (GVAR(virtualItems) select IDX_VIRT_GOGGLES)) then {
|
||||
|
||||
_unavailableItemsList pushBackUnique _item;
|
||||
_loadout set [_dataIndex, ""];
|
||||
|
Loading…
Reference in New Issue
Block a user