Ejemplo n.º 1
0
 /// <summary>
 /// 执行技能
 /// </summary>
 /// <param name="skillBase">技能对象</param>
 /// <param name="packer">技能数据包</param>
 /// <param name="isSubSkill">是否为子技能</param>
 /// <param name="callback">结束回调</param>
 public void DoSkillInfo(SkillBase skillBase, FormulaParamsPacker packer, bool isSubSkill = false, Action callback = null)
 {
     if (skillBase == null)
     {
         throw new Exception("方程式对象为空.");
     }
     // 子级技能没有cd
     if (isSubSkill)
     {
         DoFormula(skillBase.GetActionFormula(packer), callback);
     }
     else
     {
         if (SkillCouldRelease(skillBase))
         {
             SetSkillInCD(skillBase as SkillInfo);
             DoFormula(skillBase.GetActionFormula(packer), callback);
             // 统计释放技能次数
             FightDataStatistical.Single.AddSkillCount("" + skillBase.ReleaseMember.ClusterData.AllData.MemberData.ObjID.ID,
                                                       1, skillBase.ReleaseMember.ClusterData.AllData.MemberData.Camp);
         }
         else
         {
             //Debug.Log("技能:" + skillBase.Num + "在cd中");
         }
         // 否则技能在CD中不能释放
     }
 }