Пример #1
0
    public void StartTeamLevel(ScTeamStartLoading p)
    {
        if (moduleTeam.state < 0)
        {
            Logger.LogError("PVE::StartTeamLevel: We are not in team mode!");
            return;
        }

        Logger.LogInfo("PVE::StartTeamLevel: Start new team stage [{0}], mode [{1}]", moduleTeam.stage, moduleTeam.mode);

        OnPVEStart(moduleTeam.stage, moduleTeam.mode == TeamMode.Awake ? PVEReOpenPanel.ChasePanel : PVEReOpenPanel.None, true);
        isFirstEnterStage = false;
        if (p.members != null)
        {
            foreach (var item in p.members)
            {
                //第一次进入关卡只跟队长有关
                if (item.teamLeader > 0)
                {
                    isFirstEnterStage = item.isFirst > 0;
                    break;
                }
            }
        }
        enterForFirstTime = false;
        RefreshRebornData(p.rebornTime, p.rebornItem);
    }
Пример #2
0
    void _Packet(ScTeamStartLoading p)
    {
        EventManager.RemoveEventListener(Events.SCENE_LOAD_PROGRESS, OnLoadingProgress);
        EventManager.AddEventListener(Events.SCENE_LOAD_PROGRESS, OnLoadingProgress);

        Logger.LogInfo("Team room start loading! Stage: [{0}]", p.stage);
        if (p.members.Length == 1)
        {
            FightRecordManager.EndRecord(false, false);
        }
        FightRecordManager.Set(p);

        loading        = true;
        m_loadingType  = EnumPVELoadingType.Initialize;
        m_progress     = 0;
        m_lastProgress = 0;

        mode      = (TeamMode)p.type;
        stage     = p.stage;
        timeLimit = p.timeLimit;
        allowQuit = p.allowQuit;

        p.members.CopyTo(ref m_members);
        onlineMembers.Clear();
        onlineMembers.AddRange(m_members);

        FightRecordManager.RecordLog <LogInt>(log =>
        {
            log.tag   = (byte)TagType.onlineMembersCount;
            log.value = onlineMembers?.Count ?? 0;
        });

        m_playerIndex = m_members.FindIndex(mi => mi.roleId == modulePlayer.id_);

        Logger.LogDetail("Player roomIndex: {0}", m_playerIndex);

        DispatchModuleEvent(EventLoadingStart);

        modulePVE.StartTeamLevel(p);
        loading = true;
    }