Exemplo n.º 1
0
        static public XmlData.ChildNode GetXmlChildNode(int id)
        {
            XmlData.ChildNode node = null;
            if (Program.AnimationXML.Childs != null && Program.AnimationXML.Childs.Child != null)
            {
                foreach (var n in Program.AnimationXML.Childs.Child)
                {
                    if (n.Id == id)
                    {
                        return(n);
                    }
                }
            }

            return(node);
        }
Exemplo n.º 2
0
 static public void UpdateXmlChildNode(XmlData.ChildNode oldNode, XmlData.ChildNode newNode)
 {
     if (Program.AnimationXML.Childs == null || Program.AnimationXML.Childs.Child == null || oldNode == null)
     {
         var newNodes = new XmlData.ChildNode[1];
         newNodes[0] = newNode;
         if (Program.AnimationXML.Childs == null)
         {
             Program.AnimationXML.Childs = new XmlData.ChildsNode();
         }
         if (Program.AnimationXML.Childs.Child == null)
         {
             Program.AnimationXML.Childs.Child = new XmlData.ChildNode[0];
         }
         Program.AnimationXML.Childs.Child = Program.AnimationXML.Childs.Child.Concat(newNodes).ToArray();
     }
     else
     {
         foreach (var n in Program.AnimationXML.Childs.Child)
         {
             if (n.Id == oldNode.Id)
             {
                 if (newNode == null)
                 {
                     var newChild = new List <XmlData.ChildNode>(Program.AnimationXML.Childs.Child);
                     newChild.Remove(n);
                     Program.AnimationXML.Childs.Child = newChild.ToArray();
                 }
                 else
                 {
                     n.Next = newNode.Next;
                     n.Id   = newNode.Id;
                     n.X    = newNode.X;
                     n.Y    = newNode.Y;
                 }
                 break;
             }
         }
     }
 }
        private void insertNodeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var cms = contextMenuStrip1;
            var lv  = cms.SourceControl as ListView;

            if (lv == listView1) // spawn
            {
                treeView1.SelectedNode = treeView1.Nodes[0].Nodes[2];
                var node = new XmlData.SpawnNode();
                for (var j = 1; j <= listView1.Items.Count + 2; j++)
                {
                    if (XmlTools.GetXmlSpawnNode(j) == null)
                    {
                        node.Id          = j;
                        node.Next        = new XmlData.NextNode();
                        node.Probability = 10;
                        node.X           = "";
                        node.Y           = "";
                        XmlTools.UpdateXmlSpawnNode(null, node);
                        MainWindow.MainWin.UpdateData();
                        break;
                    }
                }
            }
            else if (lv == listView2) // animations
            {
                treeView1.SelectedNode = treeView1.Nodes[0].Nodes[3];
                var node = new XmlData.AnimationNode();
                for (var j = 1; j <= listView2.Items.Count + 2; j++)
                {
                    if (XmlTools.GetXmlAnimationNode(j) == null)
                    {
                        node.Id   = j;
                        node.Name = "New";
                        XmlTools.UpdateXmlAnimationNode(null, node);
                        MainWindow.MainWin.UpdateData();
                        break;
                    }
                }
            }
            else if (lv == listView3) // childs
            {
                treeView1.SelectedNode = treeView1.Nodes[0].Nodes[4];
                var node = new XmlData.ChildNode();
                for (var j = 1; j <= listView3.Items.Count + 2; j++)
                {
                    if (XmlTools.GetXmlChildNode(j) == null)
                    {
                        node.Id   = j;
                        node.Next = j;
                        XmlTools.UpdateXmlChildNode(null, node);
                        MainWindow.MainWin.UpdateData();
                        break;
                    }
                }
            }
            else if (lv == listView4) // sounds
            {
                treeView1.SelectedNode = treeView1.Nodes[0].Nodes[5];
                var node = new XmlData.SoundNode();
                for (var j = 1; j <= listView4.Items.Count + 2; j++)
                {
                    if (XmlTools.GetXmlSoundNode(j) == null)
                    {
                        node.Id = j;
                        XmlTools.UpdateXmlSoundNode(null, node);
                        MainWindow.MainWin.UpdateData();
                        break;
                    }
                }
            }
        }