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); }
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); }