private void btnAddNode_Click(object sender, EventArgs e) { var curTreeNode = SceneTree.SelectedNode; var nodeList = curTreeNode.FullPath.Split('.'); switch (nodeList.Length) { case 1: var name = 1; if (FileManager.ConfigMgr.CreateNewHurdle(name)) { curTreeNode.Nodes.Add(name.ToString()); } else { MessageBox.Show("关卡id已存在d(╯﹏╰)b", "创建失败"); } break; case 2: var playsceneid = 1; var res = FileManager.ConfigMgr.CreateNewScreenplay(DataCenter.curHurdleId, playsceneid); if (res) { ScreenplayTreeNode nodeSceneplay = new ScreenplayTreeNode(playsceneid, DataCenter.curHurdleId); curTreeNode.Nodes.Add(nodeSceneplay); } else { MessageBox.Show("剧情id创建失败⊙︿⊙", "创建失败"); } break; case 3: if (FileManager.ConfigMgr.GetSceenplayReferenceList(DataCenter.curScreenplayId).Count > 1) { var ret = MessageBox.Show("该剧情有多个关卡引用,添加会影响其他关卡的该剧情信息\n是否继续?((‵□′))", "有多个引用", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); switch (ret) { case DialogResult.No: return; } } FileManager.ContentMgr.CreateNewAction(DataCenter.curScreenplayId); break; default: MessageBox.Show("该节点不能创建子节点(─.─|||)"); break; } }
private void CreateHurdleTree(TreeNode node, int hurdle_id) { var hurdleList = FileManager.ConfigMgr.GetContList(hurdle_id); foreach (var hurdle in hurdleList.Values) { var sceneplay_id = hurdle.SceneplayID; ScreenplayTreeNode nodeSceneplay = new ScreenplayTreeNode(sceneplay_id, hurdle_id); node.Nodes.Add(nodeSceneplay); if (hurdle_id == DataCenter.curHurdleId && sceneplay_id == DataCenter.curScreenplayId && -1 == DataCenter.curFuncIndex) { SceneTree.SelectedNode = nodeSceneplay; } nodeSceneplay.CreateSceneplayTree(sceneplay_id, hurdle_id); //CreateSceneplayTree(nodeSceneplay, sceneplay_id, hurdle_id); } }