ACE3/addons/disarming/functions/fnc_showItemsInListbox.sqf
BrettMayson a40b0d48f2
HEMTT v10 Compatibility (#9105)
* HEMTT v10 Compatibility

* Update addons/field_rations/CfgUIGrids.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* fix PabstMirror review

* optionals

* End empty macro definitions with semi-colon (HEMTT v0.10)

* Adapt to HEMTT v0.10.0-a14

* Revert End empty macro definitions with semi-colon

* Disable old HEMTT build step in CI

* Add missing include and fix macro usage and include casings

* End empty macro definitions with semi-colon (HEMTT v0.10)

* Update addons/disarming/functions/fnc_showItemsInListbox.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* cleanup test code

* arty - keep style same as before

* fix fire screams

* Update script_component.hpp

* Keep old hemtt/workflow/sqfc

* Update arma.yml

* Update arma.yml

* Update CfgUIGrids.hpp

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
2023-02-01 23:28:55 -06:00

64 lines
2.4 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: PabstMirror
*
* Shows a list of inventory items in a listBox control.
*
* Arguments:
* 0: RscListBox <CONTROL>
* 1: ItemArray [["itemClassnames"],[counts]] <ARRAY>
*
* Return Value:
* None
*
* Example:
* [theListBox, [["ace_bandage"],[2]]] call ace_disarming_fnc_showItemsInListbox
*
* Public: No
*/
disableSerialization;
params ["_listBoxCtrl", "_itemsCountArray"];
{
private _classname = _x;
private _count = (_itemsCountArray select 1) select _forEachIndex;
if ((_classname != DUMMY_ITEM) && {_classname != "ACE_FakePrimaryWeapon"}) then { //Don't show the dummy potato or fake weapon
private _configPath = configNull;
private _displayName = "";
private _picture = "";
switch (true) do {
case (isClass (configFile >> "CfgWeapons" >> _classname)): {
_configPath = (configFile >> "CfgWeapons");
_displayName = getText (_configPath >> _classname >> "displayName");
_picture = getText (_configPath >> _classname >> "picture");
};
case (isClass (configFile >> "CfgMagazines" >> _classname)): {
_configPath = (configFile >> "CfgMagazines");
_displayName = getText (_configPath >> _classname >> "displayName");
_picture = getText (_configPath >> _classname >> "picture");
};
case (isClass (configFile >> "CfgVehicles" >> _classname)): {
_configPath = (configFile >> "CfgVehicles");
_displayName = getText (_configPath >> _classname >> "displayName");
_picture = getText (_configPath >> _classname >> "picture");
};
case (isClass (configFile >> "CfgGlasses" >> _classname)): {
_configPath = (configFile >> "CfgGlasses");
_displayName = getText (_configPath >> _classname >> "displayName");
_picture = getText (_configPath >> _classname >> "picture");
};
default {
ERROR_1("[%1] - bad classname",_classname);
};
};
_listBoxCtrl lbAdd format ["%1", _displayName];
_listBoxCtrl lbSetData [((lbSize _listBoxCtrl) - 1), _classname];
_listBoxCtrl lbSetPicture [((lbSize _listBoxCtrl) - 1), _picture];
_listBoxCtrl lbSetTextRight [((lbSize _listBoxCtrl) - 1), str _count];
};
} forEach (_itemsCountArray select 0);