public override void Execute() { SkillsManager.Initialize(); List<ControllableUnit> teamAUnits = BattleComposition.Instance.GetAllTeamAUnits(); List<ControllableUnit> teamBUnits = BattleComposition.Instance.GetAllTeamBUnits(); //all units get NORMAL skill foreach(ControllableUnit unit in teamAUnits) { UnitIdentity unitID = unit.GetUnitIdentity(); NormalAttackSkill normalAttack = new NormalAttackSkill(); SkillsManager.Instance.AddSkill(unitID,normalAttack.GetSkillName(), normalAttack); Debug.Log ("Skill added to " +unitID.GetUnitName() + " Skill Name: " +normalAttack.GetSkillName()); } //all units get NORMAL skill foreach(ControllableUnit unit in teamBUnits) { UnitIdentity unitID = unit.GetUnitIdentity(); NormalAttackSkill normalAttack = new NormalAttackSkill(); SkillsManager.Instance.AddSkill(unitID,normalAttack.GetSkillName(), normalAttack); Debug.Log ("Skill added to " +unitID.GetUnitName() + " Skill Name: " +normalAttack.GetSkillName()); } this.ReportFinished(); }
public override void Execute() { SkillsManager.Initialize(); List <ControllableUnit> teamAUnits = BattleComposition.Instance.GetAllTeamAUnits(); List <ControllableUnit> teamBUnits = BattleComposition.Instance.GetAllTeamBUnits(); //all units get NORMAL skill foreach (ControllableUnit unit in teamAUnits) { UnitIdentity unitID = unit.GetUnitIdentity(); NormalAttackSkill normalAttack = new NormalAttackSkill(); SkillsManager.Instance.AddSkill(unitID, normalAttack.GetSkillName(), normalAttack); Debug.Log("Skill added to " + unitID.GetUnitName() + " Skill Name: " + normalAttack.GetSkillName()); } //all units get NORMAL skill foreach (ControllableUnit unit in teamBUnits) { UnitIdentity unitID = unit.GetUnitIdentity(); NormalAttackSkill normalAttack = new NormalAttackSkill(); SkillsManager.Instance.AddSkill(unitID, normalAttack.GetSkillName(), normalAttack); Debug.Log("Skill added to " + unitID.GetUnitName() + " Skill Name: " + normalAttack.GetSkillName()); } this.ReportFinished(); }
public void Use() { // 使用卡牌 触发卡牌的效果 ISkill skill = new NormalAttackSkill(); skill.PreCheck(); skill.MakeEffect(); skill.PostEffect(); }
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; }
public static Skill PlaySkill(Charactor attack, SkillConfig skillConfig, Charactor attackedOne = null) { Skill s = null; switch (skillConfig.id) { case 1001: s = new NormalAttackSkill(attack, skillConfig, attackedOne); break; case 1002: s = new S1002(attack, skillConfig); break; case 1003: s = new S1003(attack, skillConfig); break; case 1004: s = new S1004(attack, skillConfig); break; case 1005: break; case 1006: s = new S1006(attack, skillConfig); break; case 1007: break; case 1008: break; case 1009: break; case 1010: break; case 2001: s = new S2001(attack, skillConfig); break; case 2002: break; case 2003: s = new S2003(attack, skillConfig); break; case 2004: s = new S2004(attack, skillConfig); break; case 2005: //s = new S2005(attack , skillConfig); break; case 2006: //s = new S2006(attack , skillConfig); break; case 2007: s = new S2007(attack, skillConfig); break; case 2008: s = new S2008(attack, skillConfig); break; case 2009: //s = new S2009(attack , skillConfig); break; case 2010: s = new S2010(attack, skillConfig); break; case 2011: s = new S2011(attack, skillConfig); break; } if (s != null) { s.Start(); runningSkill.Add(s); } return(s); }
public Skill CreateSkill(string skillName) { // 玩家技能--------------------------------------------------------- Skill skill = null; if (this.skillDict[skillName] == 1000) { //无操作 skill = new InactionSkill(); } else if (this.skillDict[skillName] == 1001) { //普通攻击 skill = new NormalAttackSkill(); } else if (this.skillDict[skillName] == 1002) { //无限剑制 skill = new UnlimitedBladeWorksSkill(); } else if (this.skillDict[skillName] == 1003) { //六脉神剑 skill = new SixPulseExcaliburSkill(); } else if (this.skillDict[skillName] == 1004) { //八荒六合 skill = new EightDroughtLiuheSkill(); } else if (this.skillDict[skillName] == 1005) { //大火球 skill = new BigBallFireSkill(); } else if (this.skillDict[skillName] == 1006) { //岩浆爆破 skill = new LavaBurstSkill(); } else if (this.skillDict[skillName] == 1007) { //烈焰风暴 skill = new FirestormSkill(); } else if (this.skillDict[skillName] == 1008) { //瞬劈 skill = new TransientChopSkill(); } else if (this.skillDict[skillName] == 1009) { //生死不觉 skill = new UnknowDieSkill(); } else if (this.skillDict[skillName] == 1010) { //临危不惧 skill = new SangfroidSkill(); } // 敌人技能--------------------------------------------------------------------- else if (this.skillDict[skillName] == 3001) { //撕咬 skill = new WorrySkill(); } else if (this.skillDict[skillName] == 3002) { //摆尾 skill = new FishtailingSkill(); } else if (this.skillDict[skillName] == 3003) { //野蛮冲撞 skill = new SlamSkill(); } return(skill); }