static void DrawConeWireframe(float radius, float height, HandleDirections handleDirections) { var rangeCenter = Vector3.forward * height; if (handleDirections.HasFlag(HandleDirections.Up)) { var rangeUp = rangeCenter + Vector3.up * radius; Handles.DrawLine(Vector3.zero, rangeUp); } if (handleDirections.HasFlag(HandleDirections.Down)) { var rangeDown = rangeCenter - Vector3.up * radius; Handles.DrawLine(Vector3.zero, rangeDown); } if (handleDirections.HasFlag(HandleDirections.Right)) { var rangeRight = rangeCenter + Vector3.right * radius; Handles.DrawLine(Vector3.zero, rangeRight); } if (handleDirections.HasFlag(HandleDirections.Left)) { var rangeLeft = rangeCenter - Vector3.right * radius; Handles.DrawLine(Vector3.zero, rangeLeft); } //Draw Circle Handles.DrawWireDisc(rangeCenter, Vector3.forward, radius); }
static float DrawConeHandles(Vector3 position, float angle, float range, HandleDirections handleDirections, string controlName) { if (handleDirections.HasFlag(HandleDirections.Left)) { angle = SizeSliderSpotAngle(position, Vector3.forward, -Vector3.right, range, angle, controlName); } if (handleDirections.HasFlag(HandleDirections.Up)) { angle = SizeSliderSpotAngle(position, Vector3.forward, Vector3.up, range, angle, controlName); } if (handleDirections.HasFlag(HandleDirections.Right)) { angle = SizeSliderSpotAngle(position, Vector3.forward, Vector3.right, range, angle, controlName); } if (handleDirections.HasFlag(HandleDirections.Down)) { angle = SizeSliderSpotAngle(position, Vector3.forward, -Vector3.up, range, angle, controlName); } return(angle); }