Пример #1
0
        public void AddCanvasTransform(CanvasTransform canvasTransform, bool createGuid = true)
        {
            if (createGuid)
            {
                canvasTransform.guid = GetNewCanvasTransformGuid();
            }

            if (canvasTransform.guid == 0)
            {
                Debug.Log("guid 0!");
            }

            if (canvasTransform.guid != int.MinValue)
            {
                if (!_guidToCanvasTransform.ContainsKey(canvasTransform.guid))
                {
                    _guidToCanvasTransform.Add(canvasTransform.guid, canvasTransform);
                }

                if (!_canvasTransforms.Contains(canvasTransform))
                {
                    _canvasTransforms.Add(canvasTransform);
                }
            }

            debugList.Clear();
            foreach (var i in _guidToCanvasTransform)
            {
                debugList.Add(i.Key + ": " + i.Value.id);
            }
        }
Пример #2
0
        public NodeHandle(int nodePanelGuid, string id, HandleType type, Rect rect, CanvasState canvasState)
        {
            this.canvasState   = canvasState;
            transform          = new CanvasTransform(id + " NodeHandle " + type.ToString(), rect, canvasState);
            this.nodePanelGuid = nodePanelGuid;

            this.type    = type;
            _connections = new List <NodeConnection>();

            this.canvasState.AddInputReceiver(this);
        }
Пример #3
0
        public PreviewConnection(NodeHandle source, Vector2 end, CanvasState canvasState)
        {
            this.canvasState = canvasState;

            _start        = new CanvasTransform(source.NodePanel.label + " Start Connection", source.transform.rect.center, Vector2.zero, canvasState);
            _start.Parent = source.transform;

            _end = new CanvasTransform(source.NodePanel.label + " End Connection", end, Vector2.zero, canvasState);

            _points = new Vector2[4];
        }
Пример #4
0
        public NodePanel(Node node, Rect rect, Rect inHandle, CanvasState canvasState)
        {
            this.nodeGuid    = node.guid;
            this.guid        = node.guid;
            this.canvasState = canvasState;

            this.transform = new CanvasTransform(node.Id + " NodePanel", rect, canvasState);

            this.inHandle = new NodeHandle(this, NodeHandle.HandleType.In, inHandle, canvasState);
            this.inHandle.transform.Parent = this.transform;
            this.hasOuthandle = false;

            childrenGuids = new List <int>();
            this.canvasState.AddInputReceiver(this);
        }
Пример #5
0
        public void RemoveCanvasTransform(CanvasTransform canvasTransform, bool removeDescendants = true)
        {
            if (removeDescendants)
            {
                for (int i = 0; i < canvasTransform.Children.Count; i++)
                {
                    canvasTransform.Children[i].Parent = null;
                }
            }

            canvasTransform.Parent = null;

            _guidToCanvasTransform.Remove(canvasTransform.guid);
            _canvasTransforms.Remove(canvasTransform);
        }
Пример #6
0
        public NodeConnection(NodePanel startPanel, NodePanel endPanel, CanvasState canvasState)
        {
            this.canvasState = canvasState;

            // CanvasTransform startParent = canvasState.GetCanvasTransform(startParentGuid);
            // CanvasTransform endParent = canvasState.GetCanvasTransform(endParentGuid);

            // startParent.childrenGuids.Add(_start.guid);
            // endParent.childrenGuids.Add(_end.guid);

            _start = new CanvasTransform("Start Connection", startPanel.outHandle.transform.rect, canvasState);
            _end   = new CanvasTransform("End Connection", endPanel.inHandle.transform.rect, canvasState);

            _start.Parent = startPanel.outHandle.transform;
            _end.Parent   = endPanel.inHandle.transform;


            _startPanelGuid = startPanel.guid;
            _endPanelGuid   = endPanel.guid;

            _points = new Vector2[4];
        }
Пример #7
0
 public bool EndParentEquals(CanvasTransform parent)
 {
     return(parent == _end.Parent);
 }
Пример #8
0
 public bool StartParentEquals(CanvasTransform parent)
 {
     return(parent == _start.Parent);
 }