private void init() { if (antetype == null) { return; } noEvent = true; //引用设定界面刷新 textBox_Name.Text = antetype.name; comboBox_folder.Items.Clear(); AntetypesManager antetypesManager = ((AntetypesManager)antetype.GetTopParent()); for (int i = 0; i < antetypesManager.actorsManager.Count(); i++) { MActorFolder actorsFolder = antetypesManager.actorsManager[i]; comboBox_folder.Items.Add(actorsFolder.name); } if (antetype.Actor != null) { comboBox_folder.SelectedIndex = ((MActorFolder)(antetype.Actor.GetParent())).GetID(); refreshActorList(); if (antetype.Actor != null) { comboBox_Actor.SelectedIndex = antetype.Actor.GetID(); } } //图片映射界面刷新 refreshImgMapList(); //刷新角色预览 refreshActor(); noEvent = false; }
//在treeView中初始化当前结构 public void updateTreeView_Animation() { treeView_Animation.Nodes.Clear(); for (int i = 0; i < actorsManager.Count(); i++) { TreeNode actorFolderNode = new TreeNode(); MActorFolder actorFolder = actorsManager[i]; currentActorFolder = actorFolder; actorFolderNode.Text = actorFolder.name; actorFolderNode.ImageIndex = 0; actorFolderNode.SelectedImageIndex = 0; for (int j = 0; j < actorFolder.Count(); j++) { TreeNode actorNode = new TreeNode(); MActor actor = actorFolder[j]; currentActorElement = actor; actorNode.Text = actor.name; actorNode.ImageIndex = 1; actorNode.SelectedImageIndex = 1; for (int k = 0; k < actor.Count(); k++) { TreeNode actionNode = new TreeNode(); MAction action = actor[k]; currentActionElement = action; actionNode.Text = action.name; actionNode.ImageIndex = 2; actionNode.SelectedImageIndex = 2; actorNode.Nodes.Add(actionNode); } actorFolderNode.Nodes.Add(actorNode); } treeView_Animation.Nodes.Add(actorFolderNode); } treeView_Animation.ExpandAll(); }
//刷新记录 private void refreshMemory() { actors.Clear(); MActorFolder folder = actorsManager[comboBox_folder.SelectedIndex]; for (int i = 0; i < folder.Count(); i++) { if (listBox_Actors.GetItemChecked(i)) { MActor actor = folder[i]; actors.Add(new ActorAndFolder(folder, actor)); } } }
//刷新可选角色列表 private void refreshActorList() { AntetypesManager antetypesManager = (AntetypesManager)antetype.GetTopParent(); MActorFolder actorsFolder = antetypesManager.actorsManager[comboBox_folder.SelectedIndex]; comboBox_Actor.Items.Clear(); if (actorsFolder != null) { for (int i = 0; i < actorsFolder.Count(); i++) { MActor actor = actorsFolder[i]; comboBox_Actor.Items.Add(actor.name); } } }
//角色文件夹列表部分================================================================================================== //(角色文件夹列表)加入新单元 public void addActorFolderElement() { String name = "文件夹" + actorsManager.Count(); SmallDialog_WordEdit txtDialog = new SmallDialog_WordEdit("新建文件夹", name); txtDialog.ShowDialog(); name = txtDialog.getValue(); form_MA.historyManager.ReadyHistory(HistoryType.Actor); MActorFolder element = new MActorFolder(actorsManager); element.name = name; actorsManager.Add(element); updateTreeView_Animation(); setCurrentActorFolder(element.GetID(), true, 0); form_MA.historyManager.AddHistory(HistoryType.Actor); }
private void init() { if (actorsManager == null) { return; } comboBox_folder.Items.Clear(); for (int i = 0; i < actorsManager.Count(); i++) { MActorFolder folder = actorsManager[i]; comboBox_folder.Items.Add(folder.name); } if (comboBox_folder.Items.Count > 0) { comboBox_folder.SelectedIndex = 0; } }
private void comboBox_Actor_SelectedIndexChanged(object sender, EventArgs e) { if (noEvent || antetype == null) { return; } AntetypesManager antetypesManager = (AntetypesManager)antetype.GetTopParent(); MActorFolder actorsFolder = antetypesManager.actorsManager[comboBox_folder.SelectedIndex]; MActor actor = actorsFolder[comboBox_Actor.SelectedIndex]; if (actor != null) { antetype.Actor = actor; antetype.name = antetype.Actor.name + ""; textBox_Name.Text = antetype.name; this.refreshActor(); } }
private void refreshActorList() { if (actorsManager == null) { return; } if (comboBox_folder.Items.Count <= 0) { return; } MActorFolder folder = actorsManager[comboBox_folder.SelectedIndex]; listBox_Actors.Items.Clear(); for (int i = 0; i < folder.Count(); i++) { MActor actor = folder[i]; listBox_Actors.Items.Add(actor.name); } }
private void treeView_Animation_DragDrop(object sender, DragEventArgs e) { //得到拖放数据,并转换为TreeNode型 TreeNode theNode = (TreeNode)e.Data.GetData(typeof(TreeNode)); TreeView theTree = (TreeView)sender; //得到鼠标进入TreeNode,而拖放目标targetNode TreeNode targetNode = theTree.GetNodeAt(treeView_Animation.PointToClient(new Point(e.X, e.Y))); if (targetNode != null && !targetNode.Equals(theNode.Parent) && ((theNode.Level == 1 && targetNode.Level == 0) || (theNode.Level == 2 && targetNode.Level == 1))) { form_MA.historyManager.ReadyHistory(HistoryType.Actor); //先调整数据 if (theNode.Level == 1) { MActorFolder folderSrc = (MActorFolder)actorsManager[theNode.Parent.Index]; MActor actor = folderSrc[theNode.Index]; MActorFolder folderDest = (MActorFolder)actorsManager[targetNode.Index]; folderSrc.RemoveAt(theNode.Index); folderDest.Add(actor); } else if (theNode.Level == 2) { MActorFolder folderSrc = (MActorFolder)actorsManager[theNode.Parent.Parent.Index]; MActor actorSrc = folderSrc[theNode.Parent.Index]; MAction actionSrc = actorSrc[theNode.Index]; MActorFolder folderDest = (MActorFolder)actorsManager[targetNode.Parent.Index]; MActor actorDest = folderDest[targetNode.Index]; actorSrc.RemoveAt(theNode.Index); actorDest.Add(actionSrc); } //调整UI TreeNode targetParent = targetNode.Parent; //删除拖放的TreeNode theNode.Remove(); //添加到目标TreeView下 targetNode.Nodes.Add(theNode); theTree.SelectedNode = targetNode; form_MA.historyManager.AddHistory(HistoryType.Actor); } }
//(角色文件夹列表)设置当前文件夹(foxID代表将要设置焦点的层级) public void setCurrentActorFolder(int index, bool updateUI, int foxID) { //if (index < 0 || index >= actorsManager.Size()) //{ // return; //} currentActorFolder = actorsManager[index]; if (currentActorFolder != null && foxID == 0) { Form_MAnimation.noNodeEvent = true; treeView_Animation.SelectedNode = treeView_Animation.Nodes[currentActorFolder.GetID()]; Form_MAnimation.noNodeEvent = false; } if (updateUI) { int id = -1; if (currentActorFolder != null && currentActorFolder.Count() > 0) { id = 0; } setCurrentActor(id, true, foxID); } }
//(角色文件夹列表)设置当前文件夹(foxID代表将要设置焦点的层级) public void setCurrentActorFolder(int index, bool updateUI, int foxID) { //if (index < 0 || index >= actorsManager.Size()) //{ // return; //} currentActorFolder = actorsManager[index]; if (currentActorFolder != null && foxID == 0) { Form_MAnimation.noNodeEvent = true; treeView_Animation.SelectedNode = treeView_Animation.Nodes[currentActorFolder.GetID()]; Form_MAnimation.noNodeEvent = false; } if (updateUI) { int id = -1; if (currentActorFolder!=null && currentActorFolder.Count() > 0) { id = 0; } setCurrentActor(id, true, foxID); } }
//(角色列表)向上移动单元 public void moveUpActorElement() { if (currentActorElement == null || currentActorFolder == null) { return; } form_MA.historyManager.ReadyHistory(HistoryType.Actor); MActor actor = currentActorElement; MActorFolder actorFolder = currentActorFolder; int index = actor.GetID(); if (!actorFolder.MoveUpElement(index)) { return; } updateTreeNode_ActorFolder(); index--; if (index < 0) { index = 0; } setCurrentActor(index, true, 1); form_MA.historyManager.AddHistory(HistoryType.Actor); }
//(角色列表)向下移动单元 public void moveDownActorElement() { if (currentActorElement == null || currentActorFolder == null) { return; } form_MA.historyManager.ReadyHistory(HistoryType.Actor); MActor actor = currentActorElement; MActorFolder actorFolder = currentActorFolder; int index = actorFolder.GetSonID(actor); if (!actorFolder.MoveDownElement(index)) { return; } updateTreeNode_ActorFolder(); index++; if (index > actorFolder.Count() - 1) { index = actorFolder.Count() - 1; } setCurrentActor(index, true, 1); form_MA.historyManager.AddHistory(HistoryType.Actor); }
//刷新数据显示======================================================== public void updateRes() { //载入地图 listBox_Maps.Items.Clear(); for (int i = 0; i < srcForm.mapsManager.getElementCount(); i++) { String text = "" + srcForm.mapsManager.getElement(i).getName(); listBox_Maps.Items.Add(text); } listBox_Maps.Refresh(); //载入角色原型 ListBox_AnteType.Items.Clear(); for (int i = 0; i < srcForm.mapsManager.antetypesManager.Count(); i++) { AntetypeFolder folder = srcForm.mapsManager.antetypesManager[i]; for (int j = 0; j < folder.Count(); j++) { Antetype anteType = folder[i]; String text = ""; if (anteType != null) { text = "[" + anteType.getFolderName() + "]" + anteType.name; if (anteType.Actor == null) { MessageBox.Show("角色原型“" + anteType.name + "”指向的角色为空!", "警告", MessageBoxButtons.OK); } } else { text = "错误的角色原型"; } ListBox_AnteType.Items.Add(text); } } ListBox_AnteType.Refresh(); //载入动画 listBox_Anims.Items.Clear(); MActorsManager actorsManager = srcForm.form_MAnimation.form_MActorList.actorsManager; for (int i = 0; i < actorsManager.Count(); i++) { MActorFolder folder = actorsManager[i]; for (int j = 0; j < folder.Count(); j++) { MActor actor = folder[j]; String text = folder.name + "_" + actor.name; listBox_Anims.Items.Add(text); } } listBox_Anims.Refresh(); //载入触发器 listBox_Triggers.Items.Clear(); listBox_Triggers.Refresh(); //载入属性表 listBox_Props.Items.Clear(); for (int i = 0; i < srcForm.propertyTypesManager.getElementCount(); i++) { String text = "" + ((PropertyTypeElement)srcForm.propertyTypesManager.getElement(i)).name; listBox_Props.Items.Add(text); } listBox_Props.Refresh(); }
public ActorAndFolder(MActorFolder folderT, MActor antetypeT) { folder = folderT; actor = antetypeT; }