public static SkillItem CreateSkillItem(UnitBase casterUnit, int skillId, System.Action <short> hdlOnFinish) { GDSKit.SkillConfig gdsConfig = GDSKit.SkillConfig.GetInstance(skillId); SkillItem ret = null; switch ((SkillType)gdsConfig.targetInfo.type) { case SkillType.NoTargetSkill: ret = new NoTargetSkillItem(); break; case SkillType.UnitTargetSkill: ret = new UnitTargetSkillItem(); break; case SkillType.AreaTargetSkill: ret = new AreaTargetSkillItem(); break; default: break; } ret.SetSkillInfo(casterUnit, gdsConfig, hdlOnFinish); return(ret); }
public void SetSkillInfo(UnitBase myUnit, GDSKit.SkillConfig skillConfig, System.Action <short> hdlOnFinish) { mUnit = myUnit; mSkillConfig = skillConfig; mHdlOnFinish = hdlOnFinish; this.skillId = skillConfig.id; }
public void OnUseSkill(short skillId) { GDSKit.SkillConfig skillConfig = GDSKit.SkillConfig.GetInstance(skillId); if (null != mObj) { PlayAnimation(skillConfig.animName); } }