Ejemplo n.º 1
0
        public static void Render(RenderManager.CameraInfo cameraInfo, AngleMeasurement angle)
        {
            if (angle.HideOverlay)
                return;

            var renderManager = RenderManager.instance;

            var centreAngle = Vector3.Angle(Vector3.right, angle.AngleNormal);

            if (Vector3.Cross(Vector3.right, angle.AngleNormal).y > 0f)
                centreAngle = -centreAngle;

            var arcs = BezierUtil.CreateArc(angle.Position, GetAngleDistance(angle.Flags),
                centreAngle - angle.AngleSize*.5f,
                centreAngle + angle.AngleSize*.5f);

            for (var i = 0; i < arcs.Count; i++) {

                var isFirst = i == 0;
                var isLast = i == arcs.Count - 1;

                renderManager.OverlayEffect.DrawBezier(cameraInfo, GetAngleColor(angle.Flags), arcs[i], .7f, 0f, 0f,
                    angle.Position.y - 20f,
                    angle.Position.y + 20f, false, true);

            }
        }
Ejemplo n.º 2
0
 public static Vector3 GetLabelWorldPosition(AngleMeasurement angle)
 {
     return angle.Position + angle.AngleNormal*GetAngleDistance(angle.Flags);
 }