Category5.XmlSettingsFile.ReadMegaTileVictimConfig C# (CSharp) Метод

ReadMegaTileVictimConfig() приватный статический Метод

private static ReadMegaTileVictimConfig ( XmlTextReader reader, Microsoft.Xna.Framework.Content.ContentManager content ) : MegaTileVictimConfig
reader System.Xml.XmlTextReader
content Microsoft.Xna.Framework.Content.ContentManager
Результат MegaTileVictimConfig
        private static MegaTileVictimConfig ReadMegaTileVictimConfig(XmlTextReader reader, ContentManager content)
        {
            string attName;
            MegaTileVictimConfig mtvConfig = new MegaTileVictimConfig();
            reader.MoveToFirstAttribute();
            //Loop through all attributes for the Level config
            do
            {
                try
                {
                    //Get the attribute name
                    attName = reader.Name.ToUpper();

                    //Look for definied attributes for level
                    if (attName == "NAME")
                    {
                        mtvConfig.VictimConfig = getVictimTypeByName(reader.Value);
                    }
                    else if (attName == "MAX")
                    {
                        mtvConfig.MaxPopulation = int.Parse(reader.Value);
                    }
                    else if (attName == "REQUIREDNUM")
                    {
                        mtvConfig.RequiredPopulation = int.Parse(reader.Value);
                    }
                //Handle undefined MTVC attributes
                    else
                    {
                        throw new ApplicationException("Invalid Mega tile victim config attribute '" + attName + "' on line " + reader.LineNumber);
                    }
                }
                catch (Exception e)
                {
                    throw new ApplicationException("Error parsing Level Config attribute on line " + reader.LineNumber +
                            ": " + e.Message);
                }

                //Santity check
                if (mtvConfig.RequiredPopulation > mtvConfig.MaxPopulation)
                {
                    throw new Exception("requiredNum must be smaller than max in TornadoGameConfig.xml line: " + reader.LineNumber);
                }

            } while (reader.MoveToNextAttribute());

            //Add the level config object to the list
            return mtvConfig;
        }