Epoch/Sources/epoch_code/compile/functions/EPOCH_fnc_spawnEffects.sqf
2016-09-04 23:32:38 -05:00

53 lines
1.6 KiB
Plaintext

/*
Author: Aaron Clark - EpochMod.com
Contributors:
Description:
spawn Effects over time based on array
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fnc_spawnEffects.sqf
Example:
[] spawn EPOCH_fnc_spawnEffects;
Parameter(s):
_this select 0: ARRAY - effects array
*/
//[[[cog import generate_private_arrays ]]]
private ["_firstArray","_fx","_handle","_handles"];
//[[[end]]]
params [["_ppEffects",[],[[]] ] ];
_handles = [];
{
_fx = _x;
if (_fx isEqualType []) then {
if (_fx isEqualTo []) then {
ppEffectDestroy _handles;
} else {
{
if !(_x isEqualTo []) then {
if (count _x == 4) then {
_x params ["_type","_proi","_effect","_speed"];
_handle = [_type,_proi] call epoch_postProcessCreate;
_handles pushBack _handle;
[_handle, _speed, _effect, true] call epoch_postprocessAdjust;
} else {
_x params ["_effect","_speed"];
[_handles select _forEachIndex, _speed, _effect, true] call epoch_postprocessAdjust;
};
};
} forEach _fx;
};
} else {
// sleep
if (_fx isEqualType 0) then {
uiSleep _fx;
};
};
} forEach _ppEffects;