forge/arma/server/addons/task/functions/helpers/fnc_parseTaskChainAttributes.sqf
Jacob Schmidt 12dc262136 Refactor task store into modular services
- Add task chain prerequisite parsing and startup gating
- Split lifecycle, catalog, entity, participant, and reward logic into service objects
- Update task modules and docs for chained task flow
2026-05-20 18:50:46 -05:00

39 lines
932 B
Plaintext

#include "..\script_component.hpp"
/*
* Author: IDSolutions
* Reads shared Eden task chain attributes and returns startTask parameter pairs.
*
* Arguments:
* 0: Logic <OBJECT>
*
* Return Value:
* Task parameter pairs <ARRAY>
*
* Public: No
*/
params [["_logic", objNull, [objNull]]];
private _prerequisiteRaw = _logic getVariable ["PrerequisiteTaskIds", ""];
private _prerequisiteTaskIds = [];
if (_prerequisiteRaw isEqualType []) then {
{
if !(_x isEqualType "") then { continue; };
if (_x isEqualTo "") then { continue; };
_prerequisiteTaskIds pushBackUnique _x;
} forEach _prerequisiteRaw;
} else {
if (_prerequisiteRaw isEqualType "") then {
{
if (_x isEqualTo "") then { continue; };
_prerequisiteTaskIds pushBackUnique _x;
} forEach (_prerequisiteRaw splitString ", ");
};
};
[
["prerequisiteTaskIds", _prerequisiteTaskIds]
]