public override bool InitOne(ContentManager content, int id)
        {
            XmlDocument _doc = new XmlDocument();
            _doc.Load(_xmlInfo);
            XmlNode _skill = _doc.SelectSingleNode(@"//Skill[@id = '" + id.ToString() + "']");
            switch (_skill.SelectSingleNode(@"Name").InnerText)
            {
                case "Normal Attack":
                    {
                        _prototype[id] = new NormalAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((NormalAttackSkill)_prototype[id]).Name = "Normal Attack";
                        ((NormalAttackSkill)_prototype[id]).Level = 0;
                        ((NormalAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((NormalAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Cleaving Attack":
                    {
                        _prototype[id] = new CleavingAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((CleavingAttackSkill)_prototype[id]).Name = "Cleaving Attack";
                        ((CleavingAttackSkill)_prototype[id]).Level = 0;
                        ((CleavingAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((CleavingAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Critical Attack":
                    {
                        _prototype[id] = new CriticalAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((CriticalAttackSkill)_prototype[id]).Name = "Critical Attack";
                        ((CriticalAttackSkill)_prototype[id]).Level = 0;
                        ((CriticalAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((CriticalAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Curse Attack":
                    {
                        _prototype[id] = new CurseAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((CurseAttackSkill)_prototype[id]).Name = "Curse Attack";
                        ((CurseAttackSkill)_prototype[id]).Level = 0;
                        ((CurseAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.AmorReduce = int.Parse(_levelList[i].SelectSingleNode(@"AmorReduce").InnerText);
                            _skillInfo.ChanceToCurse = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToCurse").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((CurseAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "OverSpeed Attack":
                    {
                        _prototype[id] = new OverSpeedAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((OverSpeedAttackSkill)_prototype[id]).Name = "OverSpeed Attack";
                        ((OverSpeedAttackSkill)_prototype[id]).Level = 0;
                        ((OverSpeedAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.Hp = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                            _skillInfo.NumOfHit = int.Parse(_levelList[i].SelectSingleNode(@"NumOfHit").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((OverSpeedAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "LifeSteal Attack":
                    {
                        _prototype[id] = new LifeStealAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((LifeStealAttackSkill)_prototype[id]).Name = "LifeSteal Attack";
                        ((LifeStealAttackSkill)_prototype[id]).Level = 0;
                        ((LifeStealAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.PercentLifeSteal = int.Parse(_levelList[i].SelectSingleNode(@"PercentLifeSteal").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((LifeStealAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Bash Attack":
                    {
                        _prototype[id] = new BashAttackSkill();
                        _prototype[id]._nsprite = 0;
                        ((BashAttackSkill)_prototype[id]).Name = "Bash Attack";
                        ((BashAttackSkill)_prototype[id]).Level = 0;
                        ((BashAttackSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ChanceToBash = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToBash").InnerText);
                            _skillInfo.BashTime = int.Parse(_levelList[i].SelectSingleNode(@"BashTime").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((BashAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Deadly Bee":
                    {
                        _prototype[id] = new DeadlyBeeSkill();
                        _prototype[id]._nsprite = 0;
                        ((DeadlyBeeSkill)_prototype[id]).Name = "Deadly Bee";
                        ((DeadlyBeeSkill)_prototype[id]).Level = 0;
                        ((DeadlyBeeSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.NumOfBee = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfBee").InnerText);
                            _skillInfo.BeeLifeTime = int.Parse(_levelList[i].SelectSingleNode(@"BeeLifeTime").InnerText) * 60;
                            _skillInfo.CoolDown = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((DeadlyBeeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Souls Release":
                    {
                        _prototype[id] = new SoulsReleaseSkill();
                        _prototype[id]._nsprite = 0;
                        ((SoulsReleaseSkill)_prototype[id]).Name = "Souls Release";
                        ((SoulsReleaseSkill)_prototype[id]).Level = 0;
                        ((SoulsReleaseSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.CoolDown = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                            _skillInfo.NumOfSoul = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfSoul").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((SoulsReleaseSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Earth Shake":
                    {
                        _prototype[id] = new EarthShakeSkill();
                        _prototype[id]._nsprite = 0;
                        ((EarthShakeSkill)_prototype[id]).Name = "Earth Shake";
                        ((EarthShakeSkill)_prototype[id]).Level = 0;
                        ((EarthShakeSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.CoolDown = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.BashTime = int.Parse(_levelList[i].SelectSingleNode(@"BashTime").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((EarthShakeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Wave Form":
                    {
                        _prototype[id] = new WaveFormSkill();
                        _prototype[id]._nsprite = 0;
                        ((WaveFormSkill)_prototype[id]).Name = "Wave Form";
                        ((WaveFormSkill)_prototype[id]).Level = 0;
                        ((WaveFormSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        ((WaveFormSkill)_prototype[id]).ReleaseProjectileDelay = int.Parse(_skill.SelectSingleNode(@"Delay").InnerText);
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.CoolDown = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.CastRange = int.Parse(_levelList[i].SelectSingleNode(@"CastRange").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((WaveFormSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Lightning Field":
                    {
                        _prototype[id] = new LightningFieldSkill();
                        _prototype[id]._nsprite = 0;
                        ((LightningFieldSkill)_prototype[id]).Name = "Lightning Field";
                        ((LightningFieldSkill)_prototype[id]).Level = 0;
                        ((LightningFieldSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.CoolDown = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.NumberOfStar = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfStar").InnerText);
                            _skillInfo.Duration = int.Parse(_levelList[i].SelectSingleNode(@"Duration").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((LightningFieldSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Invisible Poison":
                    {
                        _prototype[id] = new InvisiblePoisonSkill();
                        _prototype[id]._nsprite = 0;
                        ((InvisiblePoisonSkill)_prototype[id]).Name = "Invisible Poison";
                        ((InvisiblePoisonSkill)_prototype[id]).Level = 0;
                        ((InvisiblePoisonSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.MaxDamage = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                            _skillInfo.MinDamage = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillInfo.Hp = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Duration = int.Parse(_levelList[i].SelectSingleNode(@"Duration").InnerText) * 60;
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((InvisiblePoisonSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Lightning Strike":
                    {
                        _prototype[id] = new LightningStrike();
                        _prototype[id]._nsprite = 0;
                        ((LightningStrike)_prototype[id]).Name = "Lightning Strike";
                        ((LightningStrike)_prototype[id]).Level = 0;
                        ((LightningStrike)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((LightningStrike)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Great Fortitude":
                    {
                        _prototype[id] = new GreatFortitudeSkill();
                        _prototype[id]._nsprite = 0;
                        ((GreatFortitudeSkill)_prototype[id]).Name = "Great Fortitude";
                        ((GreatFortitudeSkill)_prototype[id]).Level = 0;
                        ((GreatFortitudeSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.Defense = int.Parse(_levelList[i].SelectSingleNode(@"Defense").InnerText);
                            _skillInfo.Hp = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                            _skillInfo.Mp = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((GreatFortitudeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "God Strength":
                    {
                        _prototype[id] = new GodStrengthSkill();
                        _prototype[id]._nsprite = 0;
                        ((GodStrengthSkill)_prototype[id]).Name = "God Strength";
                        ((GodStrengthSkill)_prototype[id]).Level = 0;
                        ((GodStrengthSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.AS = int.Parse(_levelList[i].SelectSingleNode(@"AS").InnerText);
                            _skillInfo.MS = int.Parse(_levelList[i].SelectSingleNode(@"MS").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((GodStrengthSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                case "Blur":
                    {
                        _prototype[id] = new BlurSkill();
                        _prototype[id]._nsprite = 0;
                        ((BlurSkill)_prototype[id]).Name = "Blur";
                        ((BlurSkill)_prototype[id]).Level = 0;
                        ((BlurSkill)_prototype[id]).ListLevel = new List<SkillLevel>();
                        XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                        for (int i = 0; i < _levelList.Count; ++i)
                        {
                            SkillLevel _skillLevel = new SkillLevel();
                            _skillLevel.ListSkillInfo = new List<SkillInfo>();
                            SkillInfo _skillInfo = new SkillInfo();
                            _skillInfo.ChangeToDodge = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToDodge").InnerText);
                            _skillLevel.ListSkillInfo.Add(_skillInfo);
                            ((BlurSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                        }
                    }
                    break;
                default:
                    {

                    }
                    break;
            }
            ((Skill)_prototype[id]).LargeIcon = content.Load<Texture2D>(_skill.SelectSingleNode(@"Large").InnerText);
            ((Skill)_prototype[id]).ClickedIcon = content.Load<Texture2D>(_skill.SelectSingleNode(@"Clicked").InnerText);
            ((Skill)_prototype[id]).IdleIcon = content.Load<Texture2D>(_skill.SelectSingleNode(@"Idle").InnerText);
            ((Skill)_prototype[id]).SoundName = _skill.SelectSingleNode(@"Sound").InnerText;
            return true;
        }
Exemplo n.º 2
0
        public override bool InitOne(ContentManager content, int id)
        {
            XmlDocument _doc = new XmlDocument();

            _doc.Load(_xmlInfo);
            XmlNode _skill = _doc.SelectSingleNode(@"//Skill[@id = '" + id.ToString() + "']");

            switch (_skill.SelectSingleNode(@"Name").InnerText)
            {
            case "Normal Attack":
            {
                _prototype[id]          = new NormalAttackSkill();
                _prototype[id]._nsprite = 0;
                ((NormalAttackSkill)_prototype[id]).Name      = "Normal Attack";
                ((NormalAttackSkill)_prototype[id]).Level     = 0;
                ((NormalAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage  = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((NormalAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Cleaving Attack":
            {
                _prototype[id]          = new CleavingAttackSkill();
                _prototype[id]._nsprite = 0;
                ((CleavingAttackSkill)_prototype[id]).Name      = "Cleaving Attack";
                ((CleavingAttackSkill)_prototype[id]).Level     = 0;
                ((CleavingAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage  = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((CleavingAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Critical Attack":
            {
                _prototype[id]          = new CriticalAttackSkill();
                _prototype[id]._nsprite = 0;
                ((CriticalAttackSkill)_prototype[id]).Name      = "Critical Attack";
                ((CriticalAttackSkill)_prototype[id]).Level     = 0;
                ((CriticalAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage  = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((CriticalAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Curse Attack":
            {
                _prototype[id]          = new CurseAttackSkill();
                _prototype[id]._nsprite = 0;
                ((CurseAttackSkill)_prototype[id]).Name      = "Curse Attack";
                ((CurseAttackSkill)_prototype[id]).Level     = 0;
                ((CurseAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage  = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.AmorReduce     = int.Parse(_levelList[i].SelectSingleNode(@"AmorReduce").InnerText);
                    _skillInfo.ChanceToCurse  = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToCurse").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((CurseAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "OverSpeed Attack":
            {
                _prototype[id]          = new OverSpeedAttackSkill();
                _prototype[id]._nsprite = 0;
                ((OverSpeedAttackSkill)_prototype[id]).Name      = "OverSpeed Attack";
                ((OverSpeedAttackSkill)_prototype[id]).Level     = 0;
                ((OverSpeedAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.Hp            = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                    _skillInfo.NumOfHit      = int.Parse(_levelList[i].SelectSingleNode(@"NumOfHit").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((OverSpeedAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "LifeSteal Attack":
            {
                _prototype[id]          = new LifeStealAttackSkill();
                _prototype[id]._nsprite = 0;
                ((LifeStealAttackSkill)_prototype[id]).Name      = "LifeSteal Attack";
                ((LifeStealAttackSkill)_prototype[id]).Level     = 0;
                ((LifeStealAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage    = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.Mp               = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.PercentLifeSteal = int.Parse(_levelList[i].SelectSingleNode(@"PercentLifeSteal").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((LifeStealAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Bash Attack":
            {
                _prototype[id]          = new BashAttackSkill();
                _prototype[id]._nsprite = 0;
                ((BashAttackSkill)_prototype[id]).Name      = "Bash Attack";
                ((BashAttackSkill)_prototype[id]).Level     = 0;
                ((BashAttackSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.PercentDamage = int.Parse(_levelList[i].SelectSingleNode(@"PercentDamage").InnerText);
                    _skillInfo.Mp            = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ChanceToBash  = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToBash").InnerText);
                    _skillInfo.BashTime      = int.Parse(_levelList[i].SelectSingleNode(@"BashTime").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((BashAttackSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Deadly Bee":
            {
                _prototype[id]          = new DeadlyBeeSkill();
                _prototype[id]._nsprite = 0;
                ((DeadlyBeeSkill)_prototype[id]).Name      = "Deadly Bee";
                ((DeadlyBeeSkill)_prototype[id]).Level     = 0;
                ((DeadlyBeeSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.NumOfBee       = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfBee").InnerText);
                    _skillInfo.BeeLifeTime    = int.Parse(_levelList[i].SelectSingleNode(@"BeeLifeTime").InnerText) * 60;
                    _skillInfo.CoolDown       = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((DeadlyBeeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Souls Release":
            {
                _prototype[id]          = new SoulsReleaseSkill();
                _prototype[id]._nsprite = 0;
                ((SoulsReleaseSkill)_prototype[id]).Name      = "Souls Release";
                ((SoulsReleaseSkill)_prototype[id]).Level     = 0;
                ((SoulsReleaseSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.CoolDown       = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                    _skillInfo.NumOfSoul      = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfSoul").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((SoulsReleaseSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Earth Shake":
            {
                _prototype[id]          = new EarthShakeSkill();
                _prototype[id]._nsprite = 0;
                ((EarthShakeSkill)_prototype[id]).Name      = "Earth Shake";
                ((EarthShakeSkill)_prototype[id]).Level     = 0;
                ((EarthShakeSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.CoolDown       = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.BashTime       = int.Parse(_levelList[i].SelectSingleNode(@"BashTime").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((EarthShakeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Wave Form":
            {
                _prototype[id]          = new WaveFormSkill();
                _prototype[id]._nsprite = 0;
                ((WaveFormSkill)_prototype[id]).Name      = "Wave Form";
                ((WaveFormSkill)_prototype[id]).Level     = 0;
                ((WaveFormSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                ((WaveFormSkill)_prototype[id]).ReleaseProjectileDelay = int.Parse(_skill.SelectSingleNode(@"Delay").InnerText);
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.CoolDown       = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.CastRange      = int.Parse(_levelList[i].SelectSingleNode(@"CastRange").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((WaveFormSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Lightning Field":
            {
                _prototype[id]          = new LightningFieldSkill();
                _prototype[id]._nsprite = 0;
                ((LightningFieldSkill)_prototype[id]).Name      = "Lightning Field";
                ((LightningFieldSkill)_prototype[id]).Level     = 0;
                ((LightningFieldSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.CoolDown       = int.Parse(_levelList[i].SelectSingleNode(@"CoolDown").InnerText) * 60;
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.NumberOfStar   = int.Parse(_levelList[i].SelectSingleNode(@"NumberOfStar").InnerText);
                    _skillInfo.Duration       = int.Parse(_levelList[i].SelectSingleNode(@"Duration").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((LightningFieldSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Invisible Poison":
            {
                _prototype[id]          = new InvisiblePoisonSkill();
                _prototype[id]._nsprite = 0;
                ((InvisiblePoisonSkill)_prototype[id]).Name      = "Invisible Poison";
                ((InvisiblePoisonSkill)_prototype[id]).Level     = 0;
                ((InvisiblePoisonSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.MaxDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MaxDamage").InnerText);
                    _skillInfo.MinDamage      = int.Parse(_levelList[i].SelectSingleNode(@"MinDamage").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillInfo.Hp             = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Duration       = int.Parse(_levelList[i].SelectSingleNode(@"Duration").InnerText) * 60;
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((InvisiblePoisonSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Lightning Strike":
            {
                _prototype[id]          = new LightningStrike();
                _prototype[id]._nsprite = 0;
                ((LightningStrike)_prototype[id]).Name      = "Lightning Strike";
                ((LightningStrike)_prototype[id]).Level     = 0;
                ((LightningStrike)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.ProjectileType = int.Parse(_levelList[i].SelectSingleNode(@"ProjectileType").InnerText);
                    _skillInfo.Mp             = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((LightningStrike)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Great Fortitude":
            {
                _prototype[id]          = new GreatFortitudeSkill();
                _prototype[id]._nsprite = 0;
                ((GreatFortitudeSkill)_prototype[id]).Name      = "Great Fortitude";
                ((GreatFortitudeSkill)_prototype[id]).Level     = 0;
                ((GreatFortitudeSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.Defense = int.Parse(_levelList[i].SelectSingleNode(@"Defense").InnerText);
                    _skillInfo.Hp      = int.Parse(_levelList[i].SelectSingleNode(@"HP").InnerText);
                    _skillInfo.Mp      = int.Parse(_levelList[i].SelectSingleNode(@"MP").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((GreatFortitudeSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "God Strength":
            {
                _prototype[id]          = new GodStrengthSkill();
                _prototype[id]._nsprite = 0;
                ((GodStrengthSkill)_prototype[id]).Name      = "God Strength";
                ((GodStrengthSkill)_prototype[id]).Level     = 0;
                ((GodStrengthSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.AS = int.Parse(_levelList[i].SelectSingleNode(@"AS").InnerText);
                    _skillInfo.MS = int.Parse(_levelList[i].SelectSingleNode(@"MS").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((GodStrengthSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            case "Blur":
            {
                _prototype[id]                        = new BlurSkill();
                _prototype[id]._nsprite               = 0;
                ((BlurSkill)_prototype[id]).Name      = "Blur";
                ((BlurSkill)_prototype[id]).Level     = 0;
                ((BlurSkill)_prototype[id]).ListLevel = new List <SkillLevel>();
                XmlNodeList _levelList = _skill.SelectNodes(@"Level");
                for (int i = 0; i < _levelList.Count; ++i)
                {
                    SkillLevel _skillLevel = new SkillLevel();
                    _skillLevel.ListSkillInfo = new List <SkillInfo>();
                    SkillInfo _skillInfo = new SkillInfo();
                    _skillInfo.ChangeToDodge = int.Parse(_levelList[i].SelectSingleNode(@"ChanceToDodge").InnerText);
                    _skillLevel.ListSkillInfo.Add(_skillInfo);
                    ((BlurSkill)_prototype[id]).ListLevel.Add(_skillLevel);
                }
            }
            break;

            default:
            {
            }
            break;
            }
            ((Skill)_prototype[id]).LargeIcon   = content.Load <Texture2D>(_skill.SelectSingleNode(@"Large").InnerText);
            ((Skill)_prototype[id]).ClickedIcon = content.Load <Texture2D>(_skill.SelectSingleNode(@"Clicked").InnerText);
            ((Skill)_prototype[id]).IdleIcon    = content.Load <Texture2D>(_skill.SelectSingleNode(@"Idle").InnerText);
            ((Skill)_prototype[id]).SoundName   = _skill.SelectSingleNode(@"Sound").InnerText;
            return(true);
        }