コード例 #1
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    bool HandleJoinAchievementInfo(NetCmdBase obj)
    {
        LC_Cmd_JoinAchievement ncb     = (LC_Cmd_JoinAchievement)obj;
        tagAchievementConfig   pConfig = null;

        if (!FishConfig.Instance.m_AchievementInfo.m_AchievementMap.TryGetValue(ncb.AchievementID, out pConfig))
        {
            return(false);
        }
        RoleAchievementBase    pBase = CreateAchievement((EventTargetType)pConfig.AchievementEventInfo.EventID);
        tagRoleAchievementInfo pInfo = new tagRoleAchievementInfo();

        pInfo.AchievementID    = ncb.AchievementID;
        pInfo.AchievementValue = 0;
        if (pBase == null || !pBase.OnInit(pInfo, this))
        {
            return(false);
        }
        m_AchievementMap.Add(ncb.AchievementID, pBase);

        //因为接到新的成就了 我们刷新下状态
        PlayerRole.Instance.UpdateRoleEventHandle();
        // CheckIsExistsFinishItem();//判断成就是否有完成的

        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
        return(true);
    }
コード例 #2
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    bool HandleChangeAchievementInfo(NetCmdBase obj)
    {
        LC_Cmd_GetOnceAchievementInfo ncb          = (LC_Cmd_GetOnceAchievementInfo)obj;
        RoleAchievementBase           pAchievement = GetAchievement(ncb.AchievementInfo.AchievementID);

        if (pAchievement == null)
        {
            //直接添加
            tagAchievementConfig pConfig = null;
            if (!FishConfig.Instance.m_AchievementInfo.m_AchievementMap.TryGetValue(ncb.AchievementInfo.AchievementID, out pConfig))
            {
                return(false);
            }
            pAchievement = CreateAchievement((EventTargetType)pConfig.AchievementEventInfo.EventID);
            if (pAchievement == null || !pAchievement.OnInit(ncb.AchievementInfo, this))
            {
                return(false);
            }
            m_AchievementMap.Add(ncb.AchievementInfo.AchievementID, pAchievement);
            // CheckIsExistsFinishItem();//判断成就是否有完成的
            tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementInfo.AchievementID);
            MsgEventHandle.HandleMsg(pEvent);

            return(true);
        }
        else
        {
            //  CheckIsExistsFinishItem();//判断成就是否有完成的
            pAchievement.ChangeAchievementErrorInfo(ncb.AchievementInfo);
        }
        return(true);
    }
コード例 #3
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    public virtual void SetAchievementIsFinish()
    {
        pAchievementInfo.AchievementValue = pConfig.AchievementEventInfo.FinishValue;
        m_AchievementEventIsFinish        = true;
        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(pAchievementInfo.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
    }
コード例 #4
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    public virtual void ChangeAchievementErrorInfo(tagRoleAchievementInfo pInfo)
    {
        //客户端向服务器端发送错误的请求的时候 我们重置任务的数据
        pAchievementInfo           = pInfo;
        m_AchievementEventIsFinish = (pConfig.AchievementEventInfo.FinishValue <= pAchievementInfo.AchievementValue);
        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(pAchievementInfo.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
    }
コード例 #5
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    bool HandleDelAchievementInfo(NetCmdBase obj)
    {
        LC_Cmd_DelAchievement ncb = (LC_Cmd_DelAchievement)obj;

        m_AchievementMap.Remove(ncb.AchievementID);
        // CheckIsExistsFinishItem();//判断成就是否有完成的
        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
        return(true);
    }
コード例 #6
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    bool HandleGetAchievementReward(NetCmdBase obj)
    {
        LC_Cmd_GetAchievementReward ncb = (LC_Cmd_GetAchievementReward)obj;

        m_AchievementMap.Remove(ncb.AchievementID);//将任务移除掉
        //  CheckIsExistsFinishItem();//判断成就是否有完成的

        tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Achievement_GetReward_Sucess);

        MsgEventHandle.HandleMsg(pUOM);

        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
        //UIWidgetManager.Instance.UpdateUserInfAchievement();
        return(true);
    }
コード例 #7
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    public virtual void OnHandleEvent(EventTargetType EventID, UInt32 BindParam, UInt32 Param)
    {
        if (m_AchievementEventIsFinish)
        {
            return;
        }
        if (Param == 0)
        {
            return;
        }
        pAchievementInfo.AchievementValue += Param;
        if (pAchievementInfo.AchievementValue > FishConfig.Instance.m_AchievementInfo.m_AchievementMap[pAchievementInfo.AchievementID].AchievementEventInfo.FinishValue)
        {
            pAchievementInfo.AchievementValue = FishConfig.Instance.m_AchievementInfo.m_AchievementMap[pAchievementInfo.AchievementID].AchievementEventInfo.FinishValue;
        }
        m_AchievementEventIsFinish = (pConfig.AchievementEventInfo.FinishValue <= pAchievementInfo.AchievementValue);
        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(pAchievementInfo.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);
    }
コード例 #8
0
ファイル: RoleAchievement.cs プロジェクト: Pircs/Fishing-1
    //bool HandleGetRoleAchievementInfoFinish(NetCmdBase obj)
    //{
    //    LC_Cmd_GetRoleAchievementInfoFinish ncb = (LC_Cmd_GetRoleAchievementInfoFinish)obj;

    //    return true;
    //}
    bool HandleAchievementAllEventFinish(NetCmdBase obj)
    {
        LC_Cmd_AchievementAllEventFinish ncb = (LC_Cmd_AchievementAllEventFinish)obj;
        RoleAchievementBase pAchievement     = GetAchievement(ncb.AchievementID);

        if (pAchievement == null)
        {
            SendGetAchievementInfoByServer(ncb.AchievementID);
            return(true);
        }
        pAchievement.SetAchievementIsFinish();
        //m_IsExistsFinishAchievement = true;
        tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID);

        MsgEventHandle.HandleMsg(pEvent);

        tagAchievementEventFinishEvent pFinish = new tagAchievementEventFinishEvent(ncb.AchievementID);

        MsgEventHandle.HandleMsg(pFinish);
        return(true);
    }