예제 #1
0
    public string GetReopenPanelName(PVEReOpenPanel type)
    {
        switch (m_reopenPanel)
        {
        case PVEReOpenPanel.ChasePanel:    return(Game.GetDefaultName <Window_Chase>());

        case PVEReOpenPanel.RunePanel:     return(Game.GetDefaultName <Window_RuneStart>());

        case PVEReOpenPanel.EquipPanel:    return(Game.GetDefaultName <Window_Equip>());

        case PVEReOpenPanel.PetPanel:      return(Game.GetDefaultName <Window_Sprite>());

        case PVEReOpenPanel.UnionBoss:     return(Game.GetDefaultName <Window_Unionboss>());

        case PVEReOpenPanel.Awake:         return(Game.GetDefaultName <Window_Awake>());

        case PVEReOpenPanel.Dating:        return(Game.GetDefaultName <Window_NPCDating>());

        case PVEReOpenPanel.Labyrinth:
        case PVEReOpenPanel.Borderlands:
        case PVEReOpenPanel.None:
        case PVEReOpenPanel.Count:
        default: return(null);
        }
    }
예제 #2
0
    public void OnPVEStart(int stageId, PVEReOpenPanel type, bool teamMode = false)
    {
        if (!OnPveStartInit(stageId, type, teamMode))
        {
            return;
        }

        Game.LoadLevel(currrentStage.levelInfoId);
    }
예제 #3
0
    private bool OnPveStartInit(int stageId, PVEReOpenPanel type, bool teamMode = false)
    {
        currrentStage = ConfigManager.Get <StageInfo>(stageId);
        if (!currrentStage)
        {
            Logger.LogError($"Start PVE failed, could not load stage <b>[{stageId}]</b>, teamMode:<b>{teamMode}</b>");
            return(false);
        }

        isTeamMode = teamMode;

        InitPveGameData();
        GetLocalAutoBattleRecord();
        ClearPveCache();

        isFirstEnterStage = TEST_SCENE_EVENT_ID <= 0 ? isFirstEnterStage : true;
        enterForFirstTime = TEST_SCENE_EVENT_ID <= 0 ? false : true;

        reopenPanelType = type;

        Logger.LogDetail("PVE stage start! stage = {0}, sceneEventId = {1}", stageId, stageEventId);

        return(true);
    }