Example #1
0
        public void RemoveGroupView(GroupPanel _group)
        {
            if (!GroupViews.TryGetValue(_group, out GroupView _groupView))
            {
                return;
            }

            RemoveElement(_groupView);
            GroupViews.Remove(_group);
        }
Example #2
0
        private void RemoveChainGroupView(ChainGroup group, bool destroy)
        {
            var view = GroupViews.FirstOrDefault(nv => nv.Group == group);

            if (view == null)
            {
                return;
            }

            RemoveChainGroupView(view, destroy);
        }
Example #3
0
 public void AddToGroupViews(UView tempUI)
 {
     if (GroupViews.ContainsKey(tempUI.Group))
     {
         GroupViews[tempUI.Group].Add(tempUI);
     }
     else
     {
         GroupViews.Add(tempUI.Group, new List <UView> {
             tempUI
         });
     }
 }
Example #4
0
        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;
            }
        }
Example #5
0
 // 手动调用:销毁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();
 }
Example #6
0
        private void HandleGroupViewDropped(ChainGroupView droppedGroupView)
        {
            if (!ChainView.GroupTransferModeActive)
            {
                return;
            }

            Debug.Log("group view dropped");

            if (GroupViews.Contains(droppedGroupView))
            {
                return;
            }

            droppedGroupView.RequestTransfer(this);
        }
Example #7
0
        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();
        }
Example #8
0
        private void HandlePreviewGroupViewDrop(ChainGroupView groupView)
        {
            if (!ChainView.GroupTransferModeActive)
            {
                return;
            }

            if (groupView == null)
            {
                IndicateDropAcceptance(false);
                return;
            }

            if (GroupViews.Contains(groupView))
            {
                IndicateDropAcceptance(false);
                return;
            }

            IndicateDropAcceptance(true);
        }
Example #9
0
        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();
        }