예제 #1
0
    private void checkFTUEProgress()
    {
        Quest activeQuest = questService.ActiveQuest;

        if (activeQuest != null && activeQuest.Id == gameStateController.FTUEConfig.FtueQuestId)
        {
            if (gameStateController.IsFTUEComplete)
            {
                resetCamera();
                questService.EndQuest(ClubPenguin.SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject, Service.Get <GameStateController>().FTUEConfig.FtueQuestId);
            }
            else if (!gameStateController.IsFTUEComplete && !gameStateController.IsOnFtueIntro)
            {
                resetCamera();
                questService.EndQuest(ClubPenguin.SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject, Service.Get <GameStateController>().FTUEConfig.FtueQuestId);
                resumeFirstTimeUserExperienceQuest();
                resetGUI();
            }
            else
            {
                activeQuest.SetOnline();
            }
        }
        else if (questService.ActiveQuest == null && !gameStateController.IsFTUEComplete)
        {
            if (ClubPenguin.SceneRefs.PopupManager == null)
            {
                eventDispatcher.AddListener <PopupEvents.PopupManagerReady>(onPopupManagerReady);
            }
            else
            {
                resumeFirstTimeUserExperienceQuest();
                resetGUI();
            }
        }
        gameStateController.DoFTUECheckOnZoneChange = false;
    }