protected override void DrawOverride() { base.DrawOverride(); if (Target == null) { return; } Vector3 scale = Target.localScale * Radius; RuntimeGizmos.DrawCubeHandles(Target.TransformPoint(Center), Target.rotation, scale, HandlesColor); RuntimeGizmos.DrawWireSphereGL(Target.TransformPoint(Center), Target.rotation, scale, LineColor); if (IsDragging) { RuntimeGizmos.DrawSelection(Target.TransformPoint(Center + Vector3.Scale(HandlesPositions[DragIndex], scale)), Target.rotation, scale, SelectionColor); } }
protected override void DrawOverride(Camera camera) { base.DrawOverride(camera); if (Target == null) { return; } Vector3 scale = Target.lossyScale * Radius; scale = Vector3.one * Mathf.Max(Mathf.Abs(scale.x), Mathf.Abs(scale.y), Mathf.Abs(scale.z)); RuntimeGizmos.DrawCubeHandles(Target.TransformPoint(Center), Target.rotation, scale, HandlesColor); RuntimeGizmos.DrawWireSphereGL(camera, Target.TransformPoint(Center), Target.rotation, scale, LineColor); if (IsDragging) { scale = Target.lossyScale; scale = Vector3.one * Mathf.Max(Mathf.Abs(scale.x), Mathf.Abs(scale.y), Mathf.Abs(scale.z)); RuntimeGizmos.DrawSelection(HandlesTransform.MultiplyPoint(Center + HandlesPositions[DragIndex]), Target.rotation, scale, SelectionColor); } }