/* * Author: esteldunedain * Maintains the tracked lasers, deleting any laser that is turned off * * Argument: * PFEH Args * * Return value: * None * * Example: * [[], 1]] call ace_laser_fnc_laserTargetPFH; * * Public: No */ #include "script_component.hpp" params ["", "_pfhuid"]; GVAR(trackedLaserTargets) = GVAR(trackedLaserTargets) select { _x params ["_targetObject", "_owner", "_laserUuid"]; if ((isNull _targetObject) || {!(alive _targetObject)} || {isNull _owner} || {!(alive _owner)}) then { // Turn off the laser in ace_laser [_laserUuid] call FUNC(laserOff); TRACE_1("Laser off:", _laserUuid); false } else { true }; }; if (GVAR(trackedLaserTargets) isEqualTo []) then { TRACE_1("ending pfeh",count GVAR(trackedLaserTargets)); [_pfhuid] call CBA_fnc_removePerFrameHandler; GVAR(pfehID) = -1; };