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(); } }
/// <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(); } } } }
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(); }
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; }