Ejemplo n.º 1
0
    void Update()
    {
        switch (wordManager.GetTypingGameState)
        {
        case WorkTypingManager.TypingGameState.PreGame:
            if (canPlaying)
            {
                timeCountDown -= Time.deltaTime * Time.timeScale;
                OnworkTypingTimerUpdate?.Invoke();
                if (timeCountDown <= minTimeCountDown)
                {
                    timeCountDown = maxtimeCoutDown;
                    wordManager.UpdateTypingGameState(WorkTypingManager.TypingGameState.Playing);
                    wordManager.AddMainWordBox();
                }
            }
            break;

        case WorkTypingManager.TypingGameState.Playing:
            OnworkTypingTimerUpdate?.Invoke();
            gameTime        += Time.deltaTime * Time.timeScale;
            countSecondTime += Time.deltaTime * Time.timeScale;

            if (gameTime >= maxTotalTime)
            {
                playerManager.TimeOut();
                break;
            }

            if (playerManager.PlayerState == WorkTypingPlayerManager.WorkPlayerState.Alive)
            {
                if (playerManager.PlayerState == WorkTypingPlayerManager.WorkPlayerState.Alive)
                {
                    if (countSecondTime >= cooldownGenerateBox)
                    {
                        wordManager.AddRandomWordBox();
                        countSecondTime = 0;
                    }
                }
            }
            break;
        }
    }