Example #1
0
    public void Init(SpeedrunManager _speedRun)
    {
        if (initialCheckpoint == null)
        {
            Debug.LogError("An initial checkpoint should always be setted", initialCheckpoint);
            return;
        }

        if (_speedRun.GetIsActive())
        {
            for (int i = 0; i < checkpointContainer.childCount; i++)
            {
                checkpointContainer.GetChild(i).gameObject.SetActive(false);
            }

            activeCheckpoint = initialCheckpoint;
        }
        else
        {
            for (int i = 0; i < checkpointContainer.childCount; i++)
            {
                CheckpointBase _current = checkpointContainer.GetChild(i).GetComponent <CheckpointBase>();
                checkpoints.Add(_current);
                _current.Init();
                _current.ActivateCheckpoint += HandleActivateCheckpoint;
            }

            activeCheckpoint = initialCheckpoint;
            activeCheckpoint.Enable();
        }
    }
Example #2
0
 /// <summary>
 /// Funzione che gestisce l'evento player.OnPlayerDeath
 /// </summary>
 private void HandlePlayerDeath()
 {
     if (speedMng.GetIsActive() && GameManager.Exist())
     {
         GameManager.RestartCurrentLevel();
     }
     else
     {
         if (GameManager.Exist() && player.GetLivesController().GetLives() == 0)
         {
             Time.timeScale = 0f;
             uiManager.ToggleMenu(MenuType.GameOver);
         }
         else
         {
             if (OnPlayerDeath != null)
             {
                 OnPlayerDeath();
             }
         }
     }
 }
Example #3
0
        public override void Enable()
        {
            if (GameManager.Exist())
            {
                nameText.text = GameManager.instance.GetOptionsManager().GetUserName();
            }

            SpeedrunManager speedrunMng = LevelManager.instance.GetSpeedrunManager();

            if (speedrunMng.GetIsActive())
            {
                speedRunPanel.SetActive(true);
                normalPanel.SetActive(false);
                speedRunTimerText.text = "Time: " + speedrunMng.GetTimer().ToString("0.00");
            }
            else
            {
                normalPanel.SetActive(true);
                speedRunPanel.SetActive(false);
                tokenText.text = "Tokens: " + LevelManager.instance.GetTokenManager().GetTokensCount().ToString();
            }

            base.Enable();
        }
Example #4
0
    public void Init(SpeedrunManager _speedRun)
    {
        if (!tokenContainer)
        {
            return;
        }
        for (int i = 0; i < tokenContainer.childCount; i++)
        {
            BaseToken _current = tokenContainer.GetChild(i).GetComponent <BaseToken>();

            if (_speedRun.GetIsActive())
            {
                _current.gameObject.SetActive(false);
            }
            else
            {
                _current.Init();
                tokens.Add(_current);
                _current.GetToken += HandleGetToken;
            }
        }

        tokenCounter = 0;
    }