ACE3/addons/laserpointer/functions/fnc_onDraw.sqf
commy2 97a0624375 Optimize Laserpointer (#4859)
* only process one unit every 0.1 seconds

* exitWith to keep indentation low

* use event to determine isIR and isTI

* correctly remove units with turned on lights from their arrays

* handle weaponAccessories command reporting nil
2017-02-10 12:47:08 -06:00

29 lines
599 B
Plaintext

/*
* Author: commy2
* Draw the visible laser beams of all cached units.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Public: No
*/
#include "script_component.hpp"
// no lasers in thermal mode
if !(GVAR(isTI)) then {
private _brightness = 2 - call EFUNC(common,ambientBrightness);
{
// red laser. draw green dot anyway in IR mode
[_x, 100, GVAR(isIR), _brightness] call FUNC(drawLaserpoint);
} count GVAR(redLaserUnits);
{
// green laser
[_x, 100, true, _brightness] call FUNC(drawLaserpoint);
} count GVAR(greenLaserUnits);
};