2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2021-10-14 15:46:43 +00:00
|
|
|
/*
|
|
|
|
* Author: mharis001
|
|
|
|
* Returns children actions for intel items in the player's inventory.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Player <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* Actions <ARRAY>
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [player] call ace_intelitems_fnc_addActions
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_player"];
|
|
|
|
|
|
|
|
private _actions = [];
|
|
|
|
|
|
|
|
private _cfgMagazines = configFile >> "CfgMagazines";
|
|
|
|
private _magazines = magazines _player;
|
|
|
|
|
|
|
|
private _openIndices = GVAR(controlsGroups) apply {_x getVariable QGVAR(index)};
|
|
|
|
|
|
|
|
{
|
|
|
|
private _config = _cfgMagazines >> _x;
|
|
|
|
|
|
|
|
if (getNumber (_config >> QGVAR(intel)) == 1) then {
|
|
|
|
private _displayName = getText (_config >> "displayName");
|
|
|
|
private _picture = getText (_config >> "picture");
|
|
|
|
private _controlType = getText (_config >> QGVAR(control));
|
|
|
|
|
|
|
|
private _magazineIds = [_player, _x] call CBA_fnc_getMagazineIndex;
|
|
|
|
|
|
|
|
{
|
|
|
|
private _index = GVAR(intelMap) getVariable _x;
|
|
|
|
|
|
|
|
// Only add actions for intel indices that are not open
|
|
|
|
if !(_index in _openIndices) then {
|
|
|
|
private _action = [
|
|
|
|
format [QGVAR(%1), _index],
|
|
|
|
_displayName,
|
|
|
|
_picture,
|
|
|
|
{(_this select 2) call FUNC(createControl)},
|
|
|
|
{true},
|
|
|
|
{},
|
|
|
|
[_controlType, _index]
|
|
|
|
] call EFUNC(interact_menu,createAction);
|
|
|
|
|
|
|
|
_actions pushBack [_action, [], _player];
|
|
|
|
};
|
|
|
|
} forEach _magazineIds;
|
|
|
|
};
|
|
|
|
} forEach (_magazines arrayIntersect _magazines);
|
|
|
|
|
|
|
|
_actions
|