void BoolHit(BoolEventData boolData) { switch (boolData.currentEvent) { case BoolEventData.BoolEvent.endLevel: LevelEnded = boolData.boolEvent; CheckLevelHighScore(); break; case BoolEventData.BoolEvent.playerDead: GameIsOver = boolData.boolEvent; StartCoroutine(GameOverSound()); //WildUfoEvents.audioEvent.Invoke(new AudioEventData(gameObject.transform.position, _gameOverSound, AudioEventData.GameObjectSource.GameOver, false, false)); //EndGame(); break; case BoolEventData.BoolEvent.gameIsPaused: GameIsPaused = boolData.boolEvent; break; case BoolEventData.BoolEvent.levelWon: LevelWon = boolData.boolEvent; break; case BoolEventData.BoolEvent.gameIsOver: GameIsOver = boolData.boolEvent; StartCoroutine(GameOverSound()); //WildUfoEvents.audioEvent.Invoke(new AudioEventData(gameObject.transform.position, _gameOverSound, AudioEventData.GameObjectSource.GameOver, false, false)); break; default: //Debug.LogError("Errore nessun caso di evento bool gestito"); break; } }
void Debris(BoolEventData boolData) { // non controllo il valore perchè lo invio dal caller solamente quando il valore è true if (boolData.currentEvent == BoolEventData.BoolEvent.debris) { if (PlayerStats.CurrentHealth < 80) { if (_debrisCounter1 == false) { _debris1.Play(); _debrisCounter1 = true; } } if (PlayerStats.CurrentHealth < 60) { if (_debrisCounter2 == false) { _debris2.Play(); _debrisCounter2 = true; } } if (PlayerStats.CurrentHealth < 40) { if (_debrisCounter3 == false) { _debris3.Play(); _debrisCounter3 = true; } } } }
//orrida gestione ma per il momento vediamo se funziona void OnLevelEnded(BoolEventData boolData) { if (boolData.currentEvent == BoolEventData.BoolEvent.endLevel) { if (boolData.boolEvent == true) { _rb2d.velocity = new Vector2(0, 0); _rb2d.rotation = 0f; } } }
void Shoot(BoolEventData boolData) { if (boolData.currentEvent == BoolEventData.BoolEvent.playerShoot) { BulletTurret01Mk1 bullet = Turret01Mk1Pool.Instance.GetFromPool(); WildUfoEvents.audioEvent.Invoke(new AudioEventData(transform.position, _soundShoot, AudioEventData.GameObjectSource.PlayerShoot, false, true)); _LaserShotFlash.Play(); bullet.transform.position = Turret01Mk1Pool.Instance.transform.position; bullet.gameObject.SetActive(true); } }
private void OnShieldActivated(BoolEventData boolData) { if (boolData.currentEvent == BoolEventData.BoolEvent.shieldActivated) { ShieldActivated = boolData.boolEvent; if (ShieldActivated == true) { CurrentShield = 100; CurrentHealth = 100; WildUfoEvents.boolHit.Invoke(new BoolEventData(false, BoolEventData.BoolEvent.enemyZone)); } } }
void GameScreenBehaviour(BoolEventData booldata) { switch (booldata.currentEvent) { case BoolEventData.BoolEvent.gameIsOver: StartCoroutine(SetGameOverUI()); //_gameOverUI.SetActive(true); break; case BoolEventData.BoolEvent.endLevel: StartCoroutine(LevelWonRoutine()); break; } }
void PlayerDead(BoolEventData boolData) { if (boolData.currentEvent == BoolEventData.BoolEvent.gameIsOver) { //questo è il caso in cui finisce il tempo _smoke.Stop(); //questo è il caso in cui la salute è zero if (PlayerStats.CurrentHealth == 0) { float randomRange = Random.Range(6f, 12f); //CineMachineShake.Instance.ShakeCameraRaw(randomRange, .3f); _playerExplosion1.Play(); _playerExplosion2.Play(); WildUfoEvents.audioEvent.Invoke(new AudioEventData(transform.position, _playerDeathSound, AudioEventData.GameObjectSource.PlayerDeath, false, false)); _playerSpriteRenderer.sprite = _bodyDead; } } }
private void TransitionSound(BoolEventData boolData) { switch (boolData.currentEvent) { case BoolEventData.BoolEvent.ambienteMusic: if (boolData.boolEvent == false) { _ambIdle.TransitionTo(0.5f); } else if (boolData.boolEvent == true) { _ambIN.TransitionTo(0.3f); } break; case BoolEventData.BoolEvent.enemyZone: if (boolData.boolEvent == false) { _gamePlayMusic.TransitionTo(0.75f); } else if (boolData.boolEvent == true) { if (GameManager.GameIsOver) { _gameIsOverMusic.TransitionTo(0.3f); } else { _enemySnap.TransitionTo(0.1f); } } break; case BoolEventData.BoolEvent.menuMusic: if (boolData.boolEvent == false) { _gamePlayMusic.TransitionTo(0.75f); } else if (boolData.boolEvent == true) { _menuMusic.TransitionTo(1f); } break; case BoolEventData.BoolEvent.gameIsOver: if (boolData.boolEvent == true) { Debug.Log(GameManager.GameIsOver.ToString()); _gameIsOverMusic.TransitionTo(0.3f); } break; case BoolEventData.BoolEvent.endLevel: if (boolData.boolEvent == true) { _gameIsOverMusic.TransitionTo(1f); Play("WinJingle"); } break; default: //Debug.LogError("Errore nessun caso di SUONO evento bool gestito"); break; } }