private static void DrawUIDummyGizmo(UIDummy component, GizmoType gizmoType) { var gameObject = component?.gameObject; if (gameObject == null) { return; } if (!(CanvasUtil.TryGetRootCanvas(gameObject, out var canvas) && CanvasUtil.TryGetRectTransform(gameObject, out var rect))) { return; } var canvasRect = CanvasUtil.GetCanvasRect(rect); var center = canvasRect.Center; var mat4x4 = canvas.transform.localToWorldMatrix; foreach (var dummy in component.Dummys) { if (dummy == null) { continue; } Vector3 offset = dummy.Offset; DrawDummyCross(mat4x4, center + offset, dummy.AliasName, Color.red); } }
/// <summary> /// 当前选择的对象发生更改 /// </summary> private void SelectionChanged() { var obj = Selection.activeObject; if (!(obj != null && CanvasUtil.TryGetRectTransform(obj as GameObject, out SelectedUIElement) && CanvasUtil.TryGetRootCanvas(SelectedUIElement.gameObject, out SelectedRootCanvas) && SelectedUIElement.gameObject != SelectedRootCanvas.gameObject)) { OnDeselect(); } }