コード例 #1
0
ファイル: SkillRPCNet.cs プロジェクト: mengtest/RewriteFrame
    /// <summary>
    /// 前摇技能流监听相应
    /// </summary>
    /// <param name="entityId"></param>
    /// <param name="skill_id_"></param>
    /// <param name="message"></param>
    public void Run_CastSingSkillResponse(uint entityId, uint skill_id_, CastSingSkillResponse message)
    {
        CastSingSkillResponse.Types.Success success = message.Success;
        if (success != null)
        {
            CastSkillResult result    = success.Success_.Result;
            EmitNode        nodeinfo  = success.Success_.NodeInfo;
            StopSkill       stopskill = success.Success_.StopSkill;

            // 处理是否可以释放的返回结果
            if (result != null)
            {
                DisposeCastSkillResult(result);
            }

            //随机发射点
            if (nodeinfo != null)
            {
                DisposeEmitNodeResult(entityId, nodeinfo);
            }

            // 执行取消技能
            if (stopskill != null)
            {
                DisposeStopResult(stopskill);
            }
        }
    }
コード例 #2
0
ファイル: SkillRPCNet.cs プロジェクト: mengtest/RewriteFrame
    /// <summary>
    /// 引导技能流监听响应
    /// </summary>
    /// <param name="message"></param>
    public void Run_CastGuideSkillResponse(uint entityId, CastGuideSkillResponse message)
    {
        CastGuideSkillResponse.Types.Success success = message.Success;
        if (success != null)
        {
            CastSkillResult     result              = success.Success_.Result;
            EmitNode            node_info           = success.Success_.NodeInfo;
            StopSkill           stopskill           = success.Success_.StopSkill;
            GuideSkillEndResult guideSkillEndResult = success.Success_.EndResult;
            ChangeGuideSkillTargetInfoResult changeGuideSkillTargetInfoResult = success.Success_.ChangeResult;

            Leyoutech.Utility.DebugUtility.Log("SkillRPCNet", " 引导技能流监听响应" + this.GetHashCode());


            // 处理是否可以释放的返回结果
            if (result != null)
            {
                DisposeCastSkillResult(result);
            }

            //随机发射点
            if (node_info != null)
            {
                DisposeEmitNodeResult(entityId, node_info);
            }

            // 执行取消技能
            if (stopskill != null)
            {
                DisposeStopResult(stopskill);
            }

            //引导按键抬起,end 阶段
            if (guideSkillEndResult != null)
            {
                DisposeGuideSkillEndResult(guideSkillEndResult);
            }

            //目标改变
            if (changeGuideSkillTargetInfoResult != null)
            {
            }
        }
    }
コード例 #3
0
ファイル: SkillRPCNet.cs プロジェクト: mengtest/RewriteFrame
    /// <summary>
    /// 执行取消技能
    /// </summary>
    /// <param name="result"></param>
    private void DisposeStopResult(StopSkill result)
    {
        if (result == null)
        {
            Leyoutech.Utility.DebugUtility.LogError("技能停止", "服务器下行消息  --- >StopSkill 为null ,服务器检查下 ");
            return;
        }

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

        if (entity == null)
        {
            return;
        }

        //结束技能
        StopSkillResult endResult = new StopSkillResult();
        uint            skillid   = result.SkillId;

        endResult.skillId = (int)skillid;
        entity.SendEvent(ComponentEventName.ToStopSkill, endResult);
    }
コード例 #4
0
ファイル: SkillRPCNet.cs プロジェクト: mengtest/RewriteFrame
    /// <summary>
    /// 蓄力技能流监听响应
    /// </summary>
    /// <param name="message"></param>
    public void Run_CastAccumulationSkillResponse(uint entityId, CastAccumulationSkillResponse message)
    {
        CastAccumulationSkillResponse.Types.Success success = message.Success;
        if (success != null)
        {
            CastSkillResult            result     = success.Success_.Result;
            AccumulationSkillEndResult end_result = success.Success_.EndResult;
            EmitNode  node_info = success.Success_.NodeInfo;
            StopSkill stopskill = success.Success_.StopSkill;

            Leyoutech.Utility.DebugUtility.Log("SkillRPCNet", " 蓄力技能流监听响应" + this.GetHashCode());


            // 处理是否可以释放的返回结果
            if (result != null)
            {
                DisposeCastSkillResult(result);
            }

            //处理蓄力按键抬起
            if (end_result != null)
            {
                DisposeAccumulationSkillEndResult(entityId, end_result);
            }

            //随机发射点
            if (node_info != null)
            {
                DisposeEmitNodeResult(entityId, node_info);
            }

            // break 阶段
            if (stopskill != null)
            {
                DisposeStopResult(stopskill);
            }
        }
    }
コード例 #5
0
        /// <summary>
        /// 处理技能break
        /// </summary>
        private static void DisposeStopSkill(StopSkill result)
        {
            BaseEntity entity = GameplayManager.Instance.GetEntityManager().GetEntityById <BaseEntity>(result.CasterId);

            if (entity == null)
            {
                return;
            }

            if (entity.GetCurrSkillId() < 0 || entity.GetCurrSkillId() != (int)result.SkillId) //小于0 则不再释放中
            {
                return;
            }

            Leyoutech.Utility.DebugUtility.LogWarning("广播技能", string.Format("处理技能break, SkillId = {0}", result.SkillId));


            //结束技能
            StopSkillResult endResult = new StopSkillResult();
            uint            skillid   = result.SkillId;

            endResult.skillId = (int)skillid;
            entity.SendEvent(ComponentEventName.ToStopSkill, endResult);
        }
コード例 #6
0
        private static void Run(GameSession.BroadSkillInfoResponse message)
        {
            GameSession.BroadSkillInfoResponse.Types.Success success = message.Success;
            if (success != null)
            {
                SkillSelectTargetInfoBroadcast target_info = success.Success_.TargetInfo;                         //吟唱和引导技能开始
                SkillEmitNodeBroadcast         node_info   = success.Success_.NodeInfo;                           //随机挂点同步
                StopSkill     stop_skill = success.Success_.StopSkill;                                            //技能break
                GuideSkillEnd guide_end  = success.Success_.GuideEnd;                                             //引导技能正常结束
                SkillChangeTargetBroadcast    change_result            = success.Success_.ChangeResult;           //引导技能切换目标
                AccumulationSkillEndBroadcast accumalation_end         = success.Success_.AccumalationEnd;        //蓄力技能蓄力结束(抬起按键)
                AccumulationSkillBegin        accumulation_skill_begin = success.Success_.AccumulationSkillBegin; //蓄力技能蓄力开始(按下按键)
                AddBuf       add_buf    = success.Success_.AddBuf;                                                //添加buf
                DeleteBuf    delete_buf = success.Success_.DeleteBuf;                                             //删除buf
                SyncClipInfo clip_info  = success.Success_.ClipInfo;                                              // 弹夹信息


                // 处理吟唱和引导技能开始
                if (target_info != null)
                {
                    DisposeSkillSelectTargetInfoBroadcast(target_info);
                }

                // 随机挂点同步
                if (node_info != null)
                {
                    DisposeSkillEmitNodeBroadcast(node_info);
                }

                // 技能break
                if (stop_skill != null)
                {
                    DisposeStopSkill(stop_skill);
                }

                // 引导技能正常结束
                if (guide_end != null)
                {
                    DisposeGuideSkillEnd(guide_end);
                }

                // 引导技能切换目标
                if (change_result != null)
                {
                    DisposeSkillChangeTargetBroadcast(change_result);
                }

                // 蓄力技能蓄力结束(抬起按键)
                if (accumalation_end != null)
                {
                    DisposeAccumulationSkillEndBroadcast(accumalation_end);
                }

                // 蓄力技能蓄力开始(按下按键)
                if (accumulation_skill_begin != null)
                {
                    DisposeAccumulationSkillBegin(accumulation_skill_begin);
                }

                //添加buf
                if (add_buf != null)
                {
                    DisposeAddBuf(add_buf);
                }

                //删除buf
                if (delete_buf != null)
                {
                    DisposeDeleteBuf(delete_buf);
                }

                //弹夹信息
                if (clip_info != null)
                {
                    DisposeSyncClipInfo(clip_info);
                }
            }
        }