Esempio n. 1
0
    private Flow InitializeFlowScript(CurrentState flowType, int progressPoint, bool sceneAlreadyLoaded)
    {
        Flow newFlow;

        switch (flowType)
        {
        case CurrentState.MainMenu:
            newFlow = new MainMenuFlow();
            break;

        case CurrentState.Game:
            newFlow = new GameFlow();
            break;

        case CurrentState.Tutorial:
            newFlow = new TutorialFlow();
            break;

        default:
            return(null);
        }

        if (!sceneAlreadyLoaded)
        {
            SceneManager.sceneLoaded -= OnSceneLoaded; //Clean any listener already on
            SceneManager.sceneLoaded += OnSceneLoaded; //Delay flow initialization until
        }
        else
        {
            newFlow.Initialize(progressPoint);
        }

        return(newFlow);
    }
Esempio n. 2
0
    public override void Initialize(int progressNumber)
    {
        tutorialFlow = this;
        tutGameLinks = GameObject.FindObjectOfType <TutorialGameLinks>();
        //Initial setup
        //tutGameLinks


        delgStack = new Queue <tutEventDelg>();
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_1"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_2"); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.gridImg.gameObject.SetActive(true); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_3"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_4"); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.gridLinesRocket.gameObject.SetActive(true); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_5"); ProgressTracker.Instance.SubmitProgress(2); });

        //Solve the X,Y cordinate problem
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_6"); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.tutorialNextButton.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.xFieldObject.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.yFieldObject.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.fieldSubmitButton.SetActive(true); ProgressTracker.Instance.SubmitProgress(3); });
        //Disable that stuff, go back to normal tutorial flow
        delgStack.Enqueue(() => { tutGameLinks.tutorialNextButton.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.fieldSubmitButton.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.xFieldObject.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.yFieldObject.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_7"); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.gridLinesAstroid.gameObject.SetActive(true); ProgressTracker.Instance.SubmitProgress(4); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_8"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_9"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_10"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_11"); });
        delgStack.Enqueue(() => { tutGameLinks.rocketFuncLine.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_12"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_13"); ProgressTracker.Instance.SubmitProgress(5); });
        //switching over to the micro text
        delgStack.Enqueue(() => { SetMicroPanelTutorialText("Tutorial_14"); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.tutorialText.transform.parent.gameObject.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.microPanelText.transform.parent.gameObject.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.astroidFuncLine.SetActive(true); });
        delgStack.Enqueue(() => { SetMicroPanelTutorialText("Tutorial_15"); ProgressTracker.Instance.SubmitProgress(6); });
        //Swap back to normal text
        delgStack.Enqueue(() => { tutGameLinks.tutorialText.transform.parent.gameObject.SetActive(true); goNext = true; });
        delgStack.Enqueue(() => { tutGameLinks.microPanelText.transform.parent.gameObject.SetActive(false); goNext = true; });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_16"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_17"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_18"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_19"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_20"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_21"); });
        delgStack.Enqueue(() => { SetTutorialText("Tutorial_22"); ProgressTracker.Instance.SubmitProgress(7); });
        //delgStack.Enqueue(() => { ProgressTracker.Instance.SubmitProgress(2->6); });
        delgStack.Enqueue(() => { GameObject.FindObjectOfType <MainScript>().GoToNextFlow(CurrentState.Game); });
        ProgressStack();

        //LOLAudio.Instance.ClearDisabledSounds();
        //initialized = true;
    }
    private void Start()
    {
        if (this.thisIsAFreshGame)
        {
            //Play tutorial
            this.tutorialFlow = TutorialFlow.Instance;

            this.inTutorialMode = true;
            SceneManager.LoadSceneAsync("Tutorial", LoadSceneMode.Additive);
            this.tutorialScene = SceneManager.GetSceneByName("Tutorial");
            //this.tutorialFlow.Initialise();
            this.thisIsAFreshGame = false;
        }
        else
        {
            //Play game
            this.gameFlow = GameFlow.Instance;
            this.gameFlow.Initialise(this.level);
            this.inGameMode = true;
            SceneManager.LoadSceneAsync("GamePlay", LoadSceneMode.Additive);
            this.gamePanel.gameObject.SetActive(true);
        }
    }