public static void Initialize() { if (instance == null) { instance = new GameManagerSys(); SceneManager.sceneLoaded += OnLevelFinishedLoading; deathScreenPrefab = (GameObject)Resources.Load(@"Prefabs/DeathScreen"); AudioManager.Initialize(); } }
void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag.Equals("Asteroid")) { AudioManager.Play(AudioClipName.ExplosionBig); Instantiate(explosionPrefab, transform.position, Quaternion.identity).transform.localScale = new Vector2(4, 4); Destroy(gameObject); GameManagerSys.OnPlayerShipDestroyed(); } }
private void Update() { if (Input.GetButtonDown("Pause")) { if (GameManagerSys.isGamePaused) { GameManagerSys.ResumeGame(); } else { if (!GameManagerSys.isShowingDeathScreen) { GameManagerSys.PauseGame(); } } } }
void OnDestroy() { if (!isQuitting && !GameManagerSys.isInMainMenu && !GameManagerSys.isSwitchingLevel) { Vector2 currentPos = transform.position; foreach (GameObject asteroid in childsAsteroids) { Vector2 position = new Vector2( currentPos.x + Random.Range(-circleColliderRadius, circleColliderRadius), currentPos.y + Random.Range(-circleColliderRadius, circleColliderRadius) ); GameObject tmp = Instantiate(asteroid, position, Quaternion.identity); tmp.GetComponent <Rigidbody2D>().velocity = new Vector2(speed.x + Random.Range(-0.5f, 0.5f), speed.y + Random.Range(-0.5f, 0.5f)); tmp.GetComponent <Asteroid>().AsteroidSpawner = asteroidSpawner; } GameManagerSys.IncrementScore(); if (childsAsteroids.Count != 0) { asteroidSpawner.OnBigAsteroidDestroyed(); } } }
void Awake() { instance = this; }
void Awake() { ScreenUtils.Initialize(); GameManagerSys.Initialize(); }
public void BackToMainMenu() { GameManagerSys.ResumeGame(); GameManagerSys.isSwitchingLevel = true; SceneManager.LoadScene("MainMenu"); }
public void ResumeGame() { GameManagerSys.ResumeGame(); }