private void OnDrawGizmos() { if (Application.isPlaying) { return; } if (gameObject == UnityEditor.Selection.activeGameObject) { Gizmos.color = Color.cyan; Transform relativeTo = null; switch (pivotDirectionOrient) { case ConnectorOrientType.OrientToCamera: relativeTo = CameraCache.Main.transform; break; case ConnectorOrientType.OrientToObject: relativeTo = (anchor != null) ? anchor.transform : transform; break; } if (pivotMode == ConnectorPivotModeType.Automatic) { Vector3 targetPosition = (anchor != null) ? anchor.transform.position : transform.position; Vector3 toolTipPosition = targetPosition + ToolTipConnector.GetDirectionFromPivotDirection( pivotDirection, manualPivotDirection, relativeTo) * pivotDistance; Gizmos.DrawLine(targetPosition, toolTipPosition); Gizmos.DrawWireCube(toolTipPosition, Vector3.one * 0.05f); } else { Vector3 targetPosition = (anchor != null) ? anchor.transform.position : transform.position; Vector3 toolTipPosition = transform.TransformPoint(manualPivotLocalPosition); Gizmos.DrawLine(targetPosition, toolTipPosition); Gizmos.DrawWireCube(toolTipPosition, Vector3.one * 0.05f); } } }
private void OnDrawGizmos() { if (Application.isPlaying) { return; } if (toolTipPrefab == null) { return; } if (gameObject == UnityEditor.Selection.activeGameObject) { Gizmos.color = Color.cyan; Transform relativeTo = null; ConnectorFollowType followType = this.followType; ConnectorOrientType pivotDirectionOrient = this.pivotDirectionOrient; ConnectorPivotDirection pivotDirection = this.pivotDirection; ConnectorPivotMode pivotMode = this.pivotMode; Vector3 manualPivotDirection = this.manualPivotDirection; Vector3 manualPivotLocalPosition = this.manualPivotLocalPosition; float pivotDistance = this.pivotDistance; switch (settingsMode) { case SettingsMode.UseDefaults: ToolTipConnector connector = toolTipPrefab.GetComponent <ToolTipConnector>(); followType = connector.ConnectorFollowingType; pivotDirectionOrient = connector.PivotDirectionOrient; pivotDirection = connector.PivotDirection; pivotMode = connector.PivotMode; manualPivotDirection = connector.ManualPivotDirection; manualPivotLocalPosition = connector.ManualPivotLocalPosition; pivotDistance = connector.PivotDistance; break; } switch (pivotDirectionOrient) { case ConnectorOrientType.OrientToCamera: relativeTo = CameraCache.Main.transform; break; case ConnectorOrientType.OrientToObject: relativeTo = (anchor != null) ? anchor.transform : transform; break; } Vector3 targetPosition = (anchor != null) ? anchor.transform.position : transform.position; switch (followType) { case ConnectorFollowType.AnchorOnly: Gizmos.DrawLine(targetPosition, transform.TransformPoint(manualPivotLocalPosition)); Gizmos.DrawWireCube(transform.TransformPoint(manualPivotLocalPosition), Vector3.one * 0.05f); break; case ConnectorFollowType.Position: case ConnectorFollowType.PositionAndXYRotation: case ConnectorFollowType.PositionAndYRotation: if (pivotMode == ConnectorPivotMode.Automatic) { Vector3 toolTipPosition = targetPosition + ToolTipConnector.GetDirectionFromPivotDirection( pivotDirection, manualPivotDirection, relativeTo) * pivotDistance; Gizmos.DrawLine(targetPosition, toolTipPosition); Gizmos.DrawWireCube(toolTipPosition, Vector3.one * 0.05f); } else { Vector3 toolTipPosition = transform.TransformPoint(manualPivotLocalPosition); Gizmos.DrawLine(targetPosition, toolTipPosition); Gizmos.DrawWireCube(toolTipPosition, Vector3.one * 0.05f); } break; } } }