55 lines
1008 B
Plaintext
55 lines
1008 B
Plaintext
#include "..\script_component.hpp"
|
|
|
|
if (!hasInterface) exitWith {};
|
|
|
|
params [
|
|
["_drawTargets", [], [[]]],
|
|
["_icon", "", [""]],
|
|
["_text", "", [""]],
|
|
["_color", [], [[]]]
|
|
];
|
|
|
|
if (count _drawTargets isEqualTo 0) exitWith {};
|
|
|
|
_cameraPos = positionCameraToWorld [0,0,0];
|
|
_cameraPosASL = AGLToASL _cameraPos;
|
|
|
|
{
|
|
_target = _x;
|
|
_visible = [objNull, "VIEW"] checkVisibility [_cameraPosASL, eyePos _target];
|
|
|
|
if ( _visible isEqualTo 0 ) exitWith {};
|
|
|
|
_objectPos = (_target modelToWorldVisual (_target selectionPosition "pilot"));
|
|
_distance = (visiblePosition _target) vectorDiff _cameraPos;
|
|
|
|
_scale = 0;
|
|
_heightOffset = 0;
|
|
_heightScaling = 0.012;
|
|
|
|
if ( _icon isNotEqualTo "") then {
|
|
_heightOffset = 0.065;
|
|
_scale = 1;
|
|
_heightScaling = 0.075;
|
|
};
|
|
|
|
_drawPos = _objectPos vectorAdd [0, 0, (0.18 + _heightOffset) + (vectorMagnitude _distance * _heightScaling)];
|
|
|
|
drawIcon3D [
|
|
_icon,
|
|
_color,
|
|
_drawPos,
|
|
_scale,
|
|
_scale,
|
|
0,
|
|
_text,
|
|
2,
|
|
0.025
|
|
];
|
|
|
|
true;
|
|
} count _drawTargets;
|
|
|
|
nil
|
|
|