예제 #1
0
    void CreateNewNode(BH_Node nodeClass, Vector2 position)
    {
        BeeHiveNode node = ScriptableObject.CreateInstance <BeeHiveNode>();

        node.BuildNode(nodeClass, position);
        nodes.Add(node);

        node.bottonConnectorClick += OnBottonConnectorClicked;
    }
예제 #2
0
    void CreateNewNode(BlueprintNode bpNode)
    {
        BeeHiveNode node = ScriptableObject.CreateInstance <BeeHiveNode>();

        Vector2 position = new Vector2(bpNode.xPos, bpNode.yPos);

        node.methodName = string.Copy(bpNode.methodName);

        if (bpNode.nodeType == E_NodeType.selector)
        {
            node.BuildNode(new BH_Selector(), position);
        }
        else if (bpNode.nodeType == E_NodeType.sequencer)
        {
            node.BuildNode(new BH_Sequence(), position);
        }
        else if (bpNode.nodeType == E_NodeType.inverter)
        {
            node.BuildNode(new BH_Inverter(), position);
        }
        else if (bpNode.nodeType == E_NodeType.succeder)
        {
            node.BuildNode(new BH_Succeeder(), position);
        }
        else if (bpNode.nodeType == E_NodeType.repeater)
        {
            node.BuildNode(new BH_Repeater(), position);
        }
        else if (bpNode.nodeType == E_NodeType.repeatTilFail)
        {
            node.BuildNode(new BH_RepeatUntilFail(), position);
        }
        else if (bpNode.nodeType == E_NodeType.leaf)
        {
            node.BuildNode(new BH_Leaf(), position);
        }



        nodes.Add(node);

        node.bottonConnectorClick += OnBottonConnectorClicked;
    }