mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
|
/*
|
||
|
* Author: commy2
|
||
|
*
|
||
|
* Add a condition that gets checked by ace_common_fnc_canInteractWith.
|
||
|
*
|
||
|
* Arguments:
|
||
|
* 0: The conditions id. Used to remove later or as exception name. An already existing name overwrites. (String)
|
||
|
* 1: The condition to check. format of "_this" is "[_player, _target]". (Code)
|
||
|
*
|
||
|
* Return Value:
|
||
|
* Unit can interact?
|
||
|
*
|
||
|
*/
|
||
|
#include "script_component.hpp"
|
||
|
|
||
|
private ["_conditionName", "_conditionFunc"];
|
||
|
|
||
|
_conditionName = toLower (_this select 0);
|
||
|
_conditionFunc = _this select 1;
|
||
|
|
||
|
private ["_conditions", "_conditionNames", "_conditionFuncs"];
|
||
|
|
||
|
_conditions = missionNamespace getVariable [QGVAR(InteractionConditions), [[],[]]];
|
||
|
|
||
|
_conditionNames = _conditions select 0;
|
||
|
_conditionFuncs = _conditions select 1;
|
||
|
|
||
|
private "_index";
|
||
|
_index = _conditionNames find _conditionName;
|
||
|
|
||
|
if (_index == -1) then {
|
||
|
_index = count _conditionNames;
|
||
|
};
|
||
|
|
||
|
_conditionNames set [_index, _conditionName];
|
||
|
_conditionFuncs set [_index, _conditionFunc];
|
||
|
|
||
|
GVAR(InteractionConditions) = [_conditionNames, _conditionFuncs];
|