//Used to display First timer private void OnPreLevel() { BeforeLevelStartTimer -= Time.DeltaTime; if (BeforeLevelStartTimer <= 0) { Type = HellWorldStateType.OnLevel; //Toggle off first timer MonoGameVariables.Instance.Hell_ExplainText.gameObject.SetActive(false); MonoGameVariables.Instance.Hell_WaitingTimer.gameObject.SetActive(false); World.GetExistingSystem <TemporaryEnemySpawnerSystem>().Enabled = true; return; } //Look if should create number if (BeforeLevelStartTimer <= PreviousDisplayedNumber - 1) { PreviousDisplayedNumber--; //Reset text scale MonoGameVariables.Instance.Hell_WaitingTimer.transform.localScale = new Vector3(1, 1, 1); MonoGameVariables.Instance.Hell_WaitingTimer.text = PreviousDisplayedNumber.ToString(); MonoGameVariables.Instance.Hell_WaitingTimer.StartCoroutine(DecreaseTextSize(MonoGameVariables.Instance.Hell_WaitingTimer)); } }
protected override void OnUpdate() { if (GlobalEvents.GameEvents.TogglePauseGame) { return; } if (Type == HellWorldStateType.OnPreLevel) { OnPreLevel(); return; } if (Type == HellWorldStateType.OnLevel) { //Decrease Timer HellTimer -= Time.DeltaTime; //Set UI timers UIManager.SetTimeOnHellTimers(HellTimer); //Look if end timer reached if (HellTimer > 0) { return; } Type = HellWorldStateType.OnEndLevel; //Deactivate spawners World.GetExistingSystem <TemporaryEnemySpawnerSystem>().Enabled = false; //Destroy all enemies GlobalEvents.GameEvents.Destroy <EnemyTag>(); GlobalEvents.GameEvents.Destroy <BulletTag>(); //Make sure Timers are set o 0.00 UIManager.SetTimeOnHellTimers(0); //Toggle Win Text MonoGameVariables.Instance.Hell_WinText.gameObject.SetActive(true); MonoGameVariables.Instance.Hell_WaitingTimer.gameObject.SetActive(true); //Init Delay AfterLevelTimer = ResetAfterLevel; PreviousDisplayedNumber = (ushort)(AfterLevelTimer + 1); } if (Type == HellWorldStateType.OnEndLevel) { OnEndLevel(); } }
protected override void OnStartRunning() { //Reset Timer HellTimer = ResetHellTimer; BeforeLevelStartTimer = ResetBeforeLevelStart; PreviousDisplayedNumber = (ushort)(BeforeLevelStartTimer + 1); Type = HellWorldStateType.OnPreLevel; MonoGameVariables.Instance.Hell_ExplainText.gameObject.SetActive(true); MonoGameVariables.Instance.Hell_WaitingTimer.gameObject.SetActive(true); World.GetExistingSystem <TemporaryEnemySpawnerSystem>().Enabled = false; }