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); } }