Beispiel #1
0
    public Node CreateNode(NodeType nodeType)
    {
        Node node = null;

        switch (nodeType)
        {
        case NodeType.Root:
            node = new RootNode(nodeType);
            break;

        case NodeType.Action:
            node = new ActionNode(nodeType);
            break;

        default:
            Debug.Assert(false, "未定義のノードタイプ");
            break;
        }

        if (node != null)
        {
            node.Init(idSeed);
            RegisterNode(node.Id, node);
            idSeed += 1;
        }

        return(node);
    }
Beispiel #2
0
    private static BaseNode __addNode(NodeType node_type, Vector2 mousePosition)
    {
        BaseNode node = null;

        switch (node_type)
        {
        case NodeType.BehaviourNode:
            node = new BehaviourNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.ExcelNode:
            node = new ExcelNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <ExcelNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.ActionNode:
            node = new ActionNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.ConditionNode:
            node = new ConditionNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.WaitNode:
            node = new WaitNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.SequenceNode:
            node = new SequenceNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.SelectorNode:
            node = new SelectorNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;

        case NodeType.LoopNode:
            node = new LoopNode();
            node.Init(mousePosition, OnClickNode);
            NodeDataManager.CreateNodeData <BaseNodeData>(node);
            nodes_list.Add(node);
            break;
        }

        if (node != null && nodes_list.Count == 1)
        {
            rootNode = node;
        }
        return(node);
    }