예제 #1
0
 private void ResponseBuyTimes(ScTeamPveBuyEnterTime msg)
 {
     if (msg.result != 0)
     {
         moduleGlobal.ShowMessage(9812, msg.result);
         return;
     }
     UnInitialize();
 }
예제 #2
0
    private void _Packet(ScTeamPveBuyEnterTime msg)
    {
        moduleGlobal.UnLockUI();
        if (msg.result == 0)
        {
            if (msg.roleId.Equals(modulePlayer.id_))
            {
                ChaseTask task = null;
                var       info = ConfigManager.Get <TaskInfo>(msg.stageId);
                if (info == null)
                {
                    Logger.LogError("there is no id={0} in taskinfo!", msg.stageId);
                    return;
                }
                var type = moduleChase.GetCurrentTaskType(info);
                if (type == TaskType.Awake)
                {
                    task = CanEnterActiveList.Find(item => item.taskConfigInfo.ID == msg.stageId);
                }
                else if (type == TaskType.Nightmare)
                {
                    task = moduleChase.CanEnterNightmareList.Find(item => item.taskConfigInfo.ID == msg.stageId);
                }

                if (task != null)
                {
                    task.taskData.resetTimes = msg.times;
                }
                else
                {
                    buyTimes   = msg.times;
                    enterTimes = msg.enterTimes;
                }
            }

            for (var i = 0; i < matchInfos.Length; i++)
            {
                if (matchInfos[i].roleId.Equals(msg.roleId))
                {
                    var data = GetTaskData(msg.roleId, msg.stageId);

                    if (data != null)
                    {
                        var info = ConfigManager.Get <TaskInfo>(msg.stageId);
                        if (info)
                        {
                            var type = moduleChase.GetCurrentTaskType(info);
                            if (type == TaskType.Awake)
                            {
                                data.resetTimes = msg.times;
                                if (!CurrentTaskIsActive)
                                {
                                    enterTimes = msg.enterTimes;
                                }
                            }
                            else if (type == TaskType.Nightmare)
                            {
                                data.resetTimes = msg.times;
                            }
                        }
                    }
                    else
                    {
                        matchInfos[i].enterTimes = msg.enterTimes;
                    }
                }
            }
        }

        DispatchModuleEvent(Response_BuyEnterTime, msg);
    }