ACE3/addons/arsenal/functions/fnc_removeBox.sqf
TACHarsis 95a5fb040a
Arsenal - Add init/remove local events to Arsenal creation/destruction (#9064)
* Added two local events to arsenal

* onInitArsenal fired when Arsenal got initiated
* onRemoveArsenal fired when Arsenal got removed

* added them to the arsenal event listing in the docs

* Update addons/arsenal/functions/fnc_removeBox.sqf

Co-authored-by: BrettMayson <brett@mayson.io>

* Update addons/arsenal/functions/fnc_removeBox.sqf

Co-authored-by: BrettMayson <brett@mayson.io>

* Renamed events in accordance with event naming patterns sans "on"

* Apply suggestions from code review

Co-authored-by: BrettMayson <brett@mayson.io>

* Improved Docs

Co-authored-by: BrettMayson <brett@mayson.io>
2022-10-21 19:28:10 -05:00

37 lines
1020 B
Plaintext

#include "script_component.hpp"
/*
* Author: Alganthe
* Remove arsenal from target.
*
* Arguments:
* 0: Target <OBJECT>
* 1: Remove globally <BOOL>
*
* Return Value:
* None
*
* Example:
* [_box, true] call ace_arsenal_fnc_removeBox
*
* Public: Yes
*/
params [["_object", objNull, [objNull]], ["_global", true, [true]]];
if (isNull _object || {isNil QGVAR(EHIDArray)}) exitWith {};
if (_global && {isMultiplayer}) then {
private _ID = (GVAR(EHIDArray) select {_x select 1 == _object}) select 0;
if (!isNil "_ID") then {
[_ID select 0] call CBA_fnc_removeGlobalEventJIP;
GVAR(EHIDArray) deleteAt (GVAR(EHIDArray) find _ID);
publicVariable QGVAR(EHIDArray);
[QGVAR(removeBox), [_object, false]] call CBA_fnc_globalEvent;
};
} else {
_object setVariable [QGVAR(virtualItems), nil, false];
[_object, 0, ["ACE_MainActions", QGVAR(interaction)]] call EFUNC(interact_menu,removeActionFromObject);
[QGVAR(boxRemoved), _object] call CBA_fnc_localEvent;
};