Files
MissionTemplate/framework/common/functions/fn_draw3DIconStatus.sqf

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