ACE3/addons/common/functions/fnc_removeActionMenuEventHandler.sqf

44 lines
902 B
Plaintext
Raw Normal View History

/*
* Author: commy2
2015-09-18 23:50:17 +00:00
* Remove an addAction menu event from a unit.
*
2015-09-18 23:50:17 +00:00
* Arguments:
* 0: Unit the action is assigned to <OBJECT>
* 1: Name of the action, e.g. "DefaultAction" <STRING>
* 2: ID of the action <NUMBER>
*
2015-09-18 23:50:17 +00:00
* Return Value:
* None
*
2015-09-18 23:50:17 +00:00
* Public: No
*/
2015-01-13 19:56:02 +00:00
#include "script_component.hpp"
2015-09-18 23:50:17 +00:00
params ["_unit", "_action", "_id"];
if (_id == -1) exitWith {};
2015-09-18 23:50:17 +00:00
private ["_name", "_actionsVar"];
2015-09-18 23:50:17 +00:00
_name = format ["ACE_ActionMenu_%1", _action];
_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]];
2015-09-18 23:50:17 +00:00
_actionsVar params ["_currentID", "_actionIDs", "_actions"];
_id = _actionIDs find _id;
if (_id == -1) exitWith {};
_action = _actions select _id;
2015-09-18 23:50:17 +00:00
_action params ["_actionID", "_nameVar"];
missionNamespace setVariable [_nameVar, nil];
_actionIDs deleteAt _id;
_actions deleteAt _id;
_unit removeAction _actionID;
_unit setVariable [_name, [_currentID, _actionIDs, _actions], false];