Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        switch (gameState)
        {
        case GameState.START:

            if (!startsPlay)
            {
                startTimeline.PlayTimeline();
                startsPlay = true;
            }

            if (startTimeline.isFinish)
            {
                gameState = GameState.CREATE;
            }

            break;

        case GameState.CREATE:

            inputProvider.MainInput();

            if (bubbleCreater.finishesBubbleCreate)
            {
                gameState = GameState.MAIN;
            }

            break;

        case GameState.MAIN:

            inputProvider.MainInput();

            if (!uchiwaObj.activeSelf)
            {
                uchiwaObj.SetActive(true);
            }

            if (bubbleManager.bubbleCore.isHit)
            {
                scoreManager.isGameClear = false;
                bubbleManager.StopBubble();
                ScoreSave();
                gameState = GameState.FINISH;
            }

            if (bubbleManager.bubbleCore.isGoal)
            {
                scoreManager.isGameClear = true;
                sePlayer.PlaySE("Goal");
                ScoreSave();
                gameState = GameState.FINISH;
            }

            break;

        case GameState.FINISH:

            if (!startsScore)
            {
                scoreTimeline.PlayTimeline();
                startsScore = true;
            }

            if (!isSkipScore && inputProvider.GetSkipButtonDown() && scoreTimeline.timelineTime() < scoreSkipTime)
            {
                scoreTimeline.SkipTimeline(scoreSkipTime);
                isSkipScore = true;
            }

            if (scoreTimeline.isFinish)
            {
                sceneLoader.Load("Title");
            }

            break;
        }
    }