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;
        }
Beispiel #2
0
 //在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);
        }
Beispiel #6
0
        //角色文件夹列表部分==================================================================================================
        //(角色文件夹列表)加入新单元
        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);
            }
        }
Beispiel #10
0
        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);
            }
        }
Beispiel #11
0
 //(角色文件夹列表)设置当前文件夹(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);
     }
 }
Beispiel #13
0
        //(角色列表)向上移动单元
        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);
        }
Beispiel #14
0
        //(角色列表)向下移动单元
        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();
        }
Beispiel #16
0
 public ActorAndFolder(MActorFolder folderT, MActor antetypeT)
 {
     folder = folderT;
     actor  = antetypeT;
 }
        //在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();

        }