2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2015-08-15 13:49:41 +00:00
|
|
|
/*
|
|
|
|
* Author: Glowbal
|
|
|
|
* Loops through a string and filters out object names/variables to assign a value for given variable.
|
|
|
|
* Used by moduleAssign* within various parts of the ACE3 project.
|
|
|
|
*
|
|
|
|
* Arguments:
|
2015-08-24 19:45:02 +00:00
|
|
|
* 0: List <STRING>
|
|
|
|
* 1: Variable Name <STRING>
|
|
|
|
* 2: Value <ANY>
|
2015-08-15 13:49:41 +00:00
|
|
|
* 3: Global <BOOL>
|
2015-09-28 14:17:12 +00:00
|
|
|
* 4: Vehicle <BOOL> (default: false)
|
2015-08-15 13:49:41 +00:00
|
|
|
*
|
|
|
|
* Return Value:
|
2015-08-24 19:45:02 +00:00
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* ["text", "variable", value, true] call ace_common_fnc_assignObjectsInList
|
2015-08-15 13:49:41 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
2015-09-28 14:17:12 +00:00
|
|
|
params ["_list", "_variable", "_setting", "_global", ["_vehicle", false]];
|
2015-08-15 13:49:41 +00:00
|
|
|
|
2015-11-20 17:40:31 +00:00
|
|
|
if (_list isEqualType "") then {
|
2015-08-24 19:45:02 +00:00
|
|
|
_list = [_list, true, true] call FUNC(parseList);
|
|
|
|
TRACE_1("Parsed",_list)
|
2015-08-15 13:49:41 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
{
|
2015-08-24 19:45:02 +00:00
|
|
|
if (!isNil "_x") then {
|
2015-11-20 17:40:31 +00:00
|
|
|
if (_x isEqualType objNull) then {
|
2015-08-15 13:49:41 +00:00
|
|
|
if (local _x) then {
|
2015-09-28 14:17:12 +00:00
|
|
|
if (_vehicle) then {
|
|
|
|
(vehicle _x) setVariable [_variable, _setting, _global];
|
|
|
|
TRACE_6("Set variable vehicle",_x,vehicle _x,typeOf (vehicle _x),_variable,_setting,_global);
|
|
|
|
} else {
|
|
|
|
_x setVariable [_variable, _setting, _global];
|
|
|
|
TRACE_5("Set variable",_x,typeOf _x,_variable,_setting,_global);
|
|
|
|
};
|
2015-08-15 13:49:41 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2015-12-12 15:48:54 +00:00
|
|
|
false
|
2015-08-24 19:45:02 +00:00
|
|
|
} count _list;
|