示例#1
0
 public static void SetPlayerDataByTask(RspTakeTaskReward data)
 {
     PlayerData.Coin = data.Coin;
     PlayerData.Lv   = data.Lv;
     PlayerData.Exp  = data.Exp;
     PlayerData.TaskArr.SetRepeated <string>(data.TaskArr);
 }
示例#2
0
 public void SetPlayerDataByTask(RspTakeTaskReward data)
 {
     PlayerData.coin    = data.coin;
     PlayerData.lv      = data.lv;
     PlayerData.exp     = data.exp;
     PlayerData.taskArr = data.taskArr;
 }
示例#3
0
    public void RspTakeTaskReward(GameMsg msg)
    {
        RspTakeTaskReward data = msg.val as RspTakeTaskReward;

        GameRoot.Instance.SetPlayerDataByTask(data);
        taskWnd.RefreshUI();
        mainCityWnd.RefreshUI();
    }
示例#4
0
 public void SetPlayerDataByRspTakeTaskReward(RspTakeTaskReward rspTakeTaskReward)
 {
     PlayerData.coin    = rspTakeTaskReward.coin;
     PlayerData.exp     = rspTakeTaskReward.exp;
     PlayerData.lv      = rspTakeTaskReward.lv;
     PlayerData.hp      = rspTakeTaskReward.hp;
     PlayerData.taskArr = rspTakeTaskReward.taskArr;
 }
示例#5
0
    public void RspTakeReward(GameMsg msg)
    {
        RspTakeTaskReward data = msg.rspTakeTask;

        GameRoot.Instance.SetPlayerDataByTakeTask(data);
        GameRoot.AddTips(Constans.ColorStr("获取经验:" + data.exp + " 获取金币:" + data.coin, TxtColor.Green));
        taskWindow.RefreshUI();
        mainCityWindow.RefreshUI();
    }
示例#6
0
    public void RspTakeTaskReward(GameMsg msg)
    {
        RspTakeTaskReward data = msg.rspTakeTaskReward;

        GameRoot.Instance.SetPlayerDataByTask(data);
        taskWnd.RefreshUI();
        mainCityWnd.RefreshUI();

        // 服务器并包处理
        if (msg.pshTaskPrgs != null)
        {
            PshTaskPrgs(msg);
        }
    }
示例#7
0
    public void ReqTakeTaskReward(MsgPack pack)
    {
        ReqTakeTaskReward data = pack.Msg.reqTakeTaskReward;

        GameMsg msg = new GameMsg()
        {
            cmd = (int)CMD.RspTakeTaskReward
        };

        PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.Session);

        TaskRewardCfg  trc = cfgSvc.GetTaskRewardCfg(data.tid);
        TaskRewardData trd = CalcTaskRewardData(pd, data.tid);


        if (trd.prgs == trc.count && !trd.taked)
        {
            pd.coin += trc.coin;
            PECommon.CalcExp(pd, trc.exp);
            trd.taked = true;
            //更新任务进度数据
            CalcTaskArr(pd, trd);

            if (!cacheSvc.UpdatePlayerData(pd.id, pd))
            {
                msg.err = (int)ErrorCode.UpdateDBError;
            }
            else
            {
                RspTakeTaskReward rspTakeTaskReward = new RspTakeTaskReward()
                {
                    coin    = pd.coin,
                    lv      = pd.lv,
                    exp     = pd.exp,
                    taskArr = pd.taskArr
                };
                msg.rspTakeTaskReward = rspTakeTaskReward;
            }
        }
        else
        {
            msg.err = (int)ErrorCode.ClientDataError;
        }

        pack.Session.SendMsg(msg);
    }
示例#8
0
    public void ReqTakeTaskReward(MsgPack pack)
    {
        ReqTakeTaskReward data = pack.msg.reqTakeTaskReward;

        GameMsg msg = new GameMsg {
            cmd = (int)CMD.RspTakeTaskReward
        };

        PlayerData     playerData = cacheSvc.GetPlayerDataBySession(pack.session);
        TaskRewardCfg  trc        = cfgSvc.GetTaskRewardCfg(data.rid);
        TaskRewardData trd        = CalcTaskRewardData(playerData, data.rid);

        if (trd.prgs == trc.count && trd.isTakenReward == false)
        {
            playerData.coin += trc.coin;
            Common.CalcExp(playerData, trc.exp);
            trd.isTakenReward = true;

            // 更新任务进度数据
            CalcTaskArr(playerData, trd);

            if (cacheSvc.UpdatePlayerData(playerData.id, playerData) == true)
            {
                RspTakeTaskReward rspTakeTaskReward = new RspTakeTaskReward {
                    coin    = playerData.coin,
                    lv      = playerData.lv,
                    exp     = playerData.exp,
                    taskArr = playerData.taskArr
                };

                msg.rspTakeTaskReward = rspTakeTaskReward;
            }
            else
            {
                msg.err = (int)ErrorCode.UpdateDBError;
            }
        }
        else
        {
            msg.err = (int)ErrorCode.ClientDataError;
        }

        pack.session.SendMsg(msg);
    }
示例#9
0
    public void ReqTakeTaskReward(MsgPack pack)
    {
        ReqTakeTaskReward data = (ReqTakeTaskReward)pack.msg;

        SCPacketBase msg = new RspTakeTaskReward();
        PlayerData   pd  = cacheSvc.GetPlayerDataBySession(pack.session);

        TaskRewardCfg  trc = cfgSvc.GetTaskRewardCfg(data.Rid);
        TaskRewardData trd = CalcTaskRewardData(pd, data.Rid);

        if (trd.prgs == trc.count && !trd.taked)
        {
            pd.Coin += trc.coin;
            KDCommon.CalcExp(pd, trc.exp);
            trd.taked = true;
            //更新任务进度数据
            CalcTaskArr(pd, trd);

            if (!cacheSvc.UpdatePlayerData(pd.Id, pd))
            {
                msg.error = (int)ErrorCode.UpdateDBError;
            }
            else
            {
                RspTakeTaskReward rspTakeTaskReward = new RspTakeTaskReward {
                    Coin = pd.Coin,
                    Lv   = pd.Lv,
                    Exp  = pd.Exp,
                };
                rspTakeTaskReward.TaskArr.SetRepeated <string>(pd.TaskArr);
                msg = rspTakeTaskReward;
            }
        }
        else
        {
            msg.error = (int)ErrorCode.ClientDataError;
        }
        pack.session.SendMsg(msg);
    }
    private void RspTakeTaskReward(object sender, GameEventArgs e)
    {
        OnReceiveSCPacketBaseEventArgs ne = e as OnReceiveSCPacketBaseEventArgs;

        if (ne == null)
        {
            return;
        }
        if (ne.msgID != CMD.RspTakeTaskReward)
        {
            return;
        }
        RspTakeTaskReward data = (RspTakeTaskReward)ne.scPacketBase;

        PECommon.SetPlayerDataByTask(data);

        OnRefreshUIFormEventArgs eventArgs = ReferencePool.Acquire <OnRefreshUIFormEventArgs>();

        eventArgs.Fill(UIFormId.TaskForm);
        GameEntry.Event.FireNow(this, eventArgs);
        eventArgs.Fill(UIFormId.MainCityForm);
        GameEntry.Event.FireNow(this, eventArgs);
    }