public void RemoveGroupView(GroupPanel _group) { if (!GroupViews.TryGetValue(_group, out GroupView _groupView)) { return; } RemoveElement(_groupView); GroupViews.Remove(_group); }
private void RemoveChainGroupView(ChainGroup group, bool destroy) { var view = GroupViews.FirstOrDefault(nv => nv.Group == group); if (view == null) { return; } RemoveChainGroupView(view, destroy); }
public void AddToGroupViews(UView tempUI) { if (GroupViews.ContainsKey(tempUI.Group)) { GroupViews[tempUI.Group].Add(tempUI); } else { GroupViews.Add(tempUI.Group, new List <UView> { tempUI }); } }
public void RefreshDirtyState() { if (ChainView.Instance.IsBusy) { return; } if (TimelineViewBehaviour.Instance == null) { return; } if (TimelineViewBehaviour.Instance.Timeline.IsBusy) { return; } if (HaxxisGlobalSettings.Instance.IsVgsJob == true) { return; } if (HaxxisGlobalSettings.Instance.DisableEditor == true) { return; } if (string.IsNullOrEmpty(LoadedPackagePath)) { var hasChildren = GroupViews.Any() || NodeViews.Any(); DirtyIndicatorComponent.gameObject.SetActive(hasChildren); return; } try { ChainGroup.SerializingGroup = Group; var hp = ChainView.GetHaxxisPackageForGroupView(this); var hasChanged = HaxxisPackage.IsChanged(hp, LoadedPackagePath); DirtyIndicatorComponent.gameObject.SetActive(hasChanged); } finally { ChainGroup.SerializingGroup = null; } }
// 手动调用:销毁UI protected void DoDestroyView() { RootView?.DoDestroy(); foreach (var item in MainViews) { item.DoDestroy(); } AllMainViews.RemoveAll(x => MainViews.Contains(x)); MainViews.Clear(); OpenedMainViews.Clear(); GroupViews.Clear(); IgnoreBlockClick.Clear(); IgnoreBlockClickOnce.Clear(); }
private void HandleGroupViewDropped(ChainGroupView droppedGroupView) { if (!ChainView.GroupTransferModeActive) { return; } Debug.Log("group view dropped"); if (GroupViews.Contains(droppedGroupView)) { return; } droppedGroupView.RequestTransfer(this); }
private void AddChainGroupView(ChainGroupView view, bool isTransfer = false) { GroupViews.Add(view); view.transform.SetParent(GroupAttachmentPoint, isTransfer); if (!isTransfer) { view.transform.localPosition = Vector2.zero; view.SetVisiblePosition(NewNodePosition, local: false); } view.BoundsChanged += HandleChildViewBoundsChanged; view.TransferRequested += HandleChildGroupViewTransferRequested; BoundsDirty = true; UpdateDeleteButtonState(); }
private void HandlePreviewGroupViewDrop(ChainGroupView groupView) { if (!ChainView.GroupTransferModeActive) { return; } if (groupView == null) { IndicateDropAcceptance(false); return; } if (GroupViews.Contains(groupView)) { IndicateDropAcceptance(false); return; } IndicateDropAcceptance(true); }
private void RemoveChainGroupView(ChainGroupView view, bool destroy) { view.BoundsChanged -= HandleChildViewBoundsChanged; view.TransferRequested -= HandleChildGroupViewTransferRequested; GroupViews.Remove(view); UpdateWorkspaceSize(); EnsureWorkspaceIsVisible(); if (destroy) { Destroy(view.gameObject); } BoundsDirty = true; UpdateDeleteButtonState(); }