Ejemplo n.º 1
0
        public ZNodeAction(ZNodeTree nodeTree, Rect wr, ZBTActionManager.NODE_TYPE actionType) : base(BASE_TYPE.ACTION, nodeTree, wr)
        {
            nodeType = actionType;

            _imgStyle.normal.background = NodeEditor.SkinItem.GetActionNodeImage(nodeType) as Texture2D;
            _inspectorName = nodeType.ToString();
        }
Ejemplo n.º 2
0
        public void Load(JSON js, string filePath)
        {
            ClearAll();

            SetFilePath(filePath);
            _name = js.ToString("name");

            JSON[] nodeListJS = js.ToArray <JSON>("bTree");
            for (int i = 0; i < nodeListJS.Length; ++i)
            {
                float           posX     = nodeListJS[i].ToFloat("posX");
                float           posY     = nodeListJS[i].ToFloat("posY");
                ZNode.BASE_TYPE baseType = ZEditorUtils.ParseEnum <ZNode.BASE_TYPE>(nodeListJS[i].ToString("baseType"));
                ZNode           newNode  = null;
                if (baseType == ZNode.BASE_TYPE.ROOT)
                {
                    newNode = CreateRoot(posX, posY);
                }
                else if (baseType == ZNode.BASE_TYPE.SUBTREE)
                {
                    newNode = CreateBaseNode(baseType, posX, posY, nodeListJS[i]);
                }
                else if (baseType == ZNode.BASE_TYPE.COMPOSITE)
                {
                    ZNodeComposite.NODE_TYPE nodeType = ZEditorUtils.ParseEnum <ZNodeComposite.NODE_TYPE>(nodeListJS[i].ToString("nodeType"));
                    newNode = CreateCompositeNode(nodeType, posX, posY, nodeListJS[i]);
                }
                else if (baseType == ZNode.BASE_TYPE.DECORATOR)
                {
                    ZNodeDecorator.NODE_TYPE nodeType = ZEditorUtils.ParseEnum <ZNodeDecorator.NODE_TYPE>(nodeListJS[i].ToString("nodeType"));
                    newNode = CreateDecoratorNode(nodeType, posX, posY, nodeListJS[i]);
                }
                else if (baseType == ZNode.BASE_TYPE.ACTION)
                {
                    ZBTActionManager.NODE_TYPE nodeType = ZEditorUtils.ParseEnum <ZBTActionManager.NODE_TYPE>(nodeListJS[i].ToString("nodeType"));
                    newNode = CreateActionNode(nodeType, posX, posY, nodeListJS[i]);
                }
                newNode.Name = nodeListJS[i].ToString("id");
            }

            JSON[] connectionListJS = js.ToArray <JSON>("connections");
            for (int i = 0; i < connectionListJS.Length; ++i)
            {
                int            inId         = connectionListJS[i].ToInt("inNodeId");
                int            outId        = connectionListJS[i].ToInt("outNodeId");
                ZNodeConnector inConnector  = GetNode(inId).OutConnector;
                ZNodeConnector outConnector = GetNode(outId).InConnector;
                if (inConnector != null && outConnector != null)
                {
                    CreateConnection(inConnector, outConnector);
                }
                else
                {
                    Debug.Log("Unable to find in or out connector for node: " + inId.ToString() + " " + outId.ToString());
                }
            }
        }
Ejemplo n.º 3
0
        public ZNode CreateActionNode(ZBTActionManager.NODE_TYPE actionType, float posX, float posY, JSON js)
        {
            Rect  nodeRect = new Rect(posX, posY, _nodeEditor.SkinItem.nodeWidth, _nodeEditor.SkinItem.nodeHeight);
            ZNode node     = ZBTActionManager.CreateNode(actionType, this, nodeRect, js);

            if (node != null)
            {
                _nodes.Add(node);
            }
            return(node);
        }
Ejemplo n.º 4
0
 public Texture GetActionNodeImage(ZBTActionManager.NODE_TYPE actionType)
 {
     for (int i = 0; i < actionNodes.Length; ++i)
     {
         if (actionNodes[i].type == actionType)
         {
             return(actionNodes[i].icon);
         }
     }
     return(null);
 }
Ejemplo n.º 5
0
 public void CreateActionNode(ZBTActionManager.NODE_TYPE actionType)
 {
     _currentNodeTree.CreateActionNode(actionType, _nodeScrollView.x + (position.width - SkinItem.leftPanelWidth) / 2, _nodeScrollView.y + (position.height - SkinItem.tabHeight) / 2, null);
 }