static public XmlData.SoundNode GetXmlSoundNode(int id)
        {
            XmlData.SoundNode node = null;
            if (Program.AnimationXML.Sounds != null && Program.AnimationXML.Sounds.Sound != null)
            {
                foreach (var n in Program.AnimationXML.Sounds.Sound)
                {
                    if (n.Id == id)
                    {
                        return(n);
                    }
                }
            }

            return(node);
        }
Example #2
0
        static public XmlData.SoundNode GetXmlSoundNode(int index)
        {
            XmlData.SoundNode node = null;
            if (Program.AnimationXML.Sounds != null && Program.AnimationXML.Sounds.Sound != null)
            {
                int findIndex = 0;
                foreach (var n in Program.AnimationXML.Sounds.Sound)
                {
                    if (findIndex++ == index)
                    {
                        return(n);
                    }
                }
            }

            return(node);
        }
Example #3
0
 static public void UpdateXmlSoundNode(int soundNodeIndex, XmlData.SoundNode newNode)
 {
     if (Program.AnimationXML.Sounds == null || Program.AnimationXML.Sounds.Sound == null || soundNodeIndex < 0 || soundNodeIndex >= Program.AnimationXML.Sounds.Sound.Length)
     {
         var newNodes = new XmlData.SoundNode[1];
         newNodes[0] = newNode;
         if (Program.AnimationXML.Sounds == null)
         {
             Program.AnimationXML.Sounds = new XmlData.SoundsNode();
         }
         if (Program.AnimationXML.Sounds.Sound == null)
         {
             Program.AnimationXML.Sounds.Sound = new XmlData.SoundNode[0];
         }
         Program.AnimationXML.Sounds.Sound = Program.AnimationXML.Sounds.Sound.Concat(newNodes).ToArray();
     }
     else
     {
         int searchIndex = 0;
         foreach (var n in Program.AnimationXML.Sounds.Sound)
         {
             if (searchIndex++ == soundNodeIndex)
             {
                 if (newNode == null)
                 {
                     var newSound = new List <XmlData.SoundNode>(Program.AnimationXML.Sounds.Sound);
                     newSound.Remove(n);
                     Program.AnimationXML.Sounds.Sound = newSound.ToArray();
                 }
                 else
                 {
                     n.Id          = newNode.Id;
                     n.Base64      = newNode.Base64;
                     n.Loop        = newNode.Loop;
                     n.Probability = newNode.Probability;
                 }
                 break;
             }
         }
     }
 }
 static public void UpdateXmlSoundNode(XmlData.SoundNode oldNode, XmlData.SoundNode newNode)
 {
     if (Program.AnimationXML.Sounds == null || Program.AnimationXML.Sounds.Sound == null || oldNode == null)
     {
         var newNodes = new XmlData.SoundNode[1];
         newNodes[0] = newNode;
         if (Program.AnimationXML.Sounds == null)
         {
             Program.AnimationXML.Sounds = new XmlData.SoundsNode();
         }
         if (Program.AnimationXML.Sounds.Sound == null)
         {
             Program.AnimationXML.Sounds.Sound = new XmlData.SoundNode[0];
         }
         Program.AnimationXML.Sounds.Sound = Program.AnimationXML.Sounds.Sound.Concat(newNodes).ToArray();
     }
     else
     {
         foreach (var n in Program.AnimationXML.Sounds.Sound)
         {
             if (n.Id == oldNode.Id)
             {
                 if (newNode == null)
                 {
                     var newSound = new List <XmlData.SoundNode>(Program.AnimationXML.Sounds.Sound);
                     newSound.Remove(n);
                     Program.AnimationXML.Sounds.Sound = newSound.ToArray();
                 }
                 else
                 {
                     n.Id          = newNode.Id;
                     n.Base64      = newNode.Base64;
                     n.Loop        = newNode.Loop;
                     n.Probability = newNode.Probability;
                 }
                 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;
                    }
                }
            }
        }