/// <summary>
        /// 取消释放技能
        /// </summary>
        /// <param name="obj"></param>
        private void OnCaseSkillResult(IComponentEvent obj)
        {
            CaseSkillResult result = obj as CaseSkillResult;

            if (result.skillId != SkillID)
            {
                return;
            }
            if (!result.succeed)
            {
                DoCancelSkill();
            }
        }
示例#2
0
    /// <summary>
    /// 处理是否可以释放的返回结果
    /// </summary>
    private static void DisposeCastSkillResult(CastSkillResult result)
    {
        if (result == null)
        {
            Leyoutech.Utility.DebugUtility.LogError("技能释放验证", "服务器下行消息  --- > CastSkillResult 为null ,服务器检查下 ");
            return;
        }

        BaseEntity entity = GameplayManager.Instance.GetEntityManager().GetEntityById <BaseEntity>(result.CasterId);

        if (entity == null)
        {
            return;
        }

        CaseSkillResult caseSkillResult = new CaseSkillResult();

        if (result.Code)
        {
            //验证成功
            uint skillid = result.SkillId;
            caseSkillResult.skillId = (int)skillid;
            caseSkillResult.succeed = true;
            Leyoutech.Utility.DebugUtility.Log("技能释放验证", string.Format("验证成功 SkillId = {0}", skillid));
        }
        else
        {
            //验证失败
            uint skillid = result.SkillId;
            caseSkillResult.skillId = (int)skillid;
            caseSkillResult.succeed = false;

            Leyoutech.Utility.DebugUtility.Log("技能释放验证", string.Format("验证失败 SkillId = {0}", skillid));
        }
        entity.SendEvent(ComponentEventName.CaseSkillResult, caseSkillResult);
    }