public void Load(string name, bool singlePlayer, int width, int height, int[,] blocks, EnemyType[] spawnEnemies) { Clear(); Name = name; Width = width; Height = height; if (FieldEditorController.Instance != null) { FieldEditorController.Instance.OrderSpawnEnemies = spawnEnemies; } SpawnPointEnemiesManager.SetOrderSpawnEnemies(spawnEnemies); _blocks = new BlockController[Width, Height]; for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { SetCell(x, y, (Block)blocks[x, y]); } } if (singlePlayer) { var player2 = FindBlock(Block.Player2); if (player2 != null) { Destroy(player2.gameObject); } } }
private void Reset() { _gameOver = false; _pause = false; SpawnPointEnemiesManager.Reset(); GameGUIController.Instance.HidePause(); GameGUIController.Instance.HideGameOver(); GameGUIController.Instance.HideGameOverPlayer1(); GameGUIController.Instance.HideGameOverPlayer2(); FieldController.Instance.Clear(); }
public static void NextLevel() { var levelsCount = _instance._levels.Count; while (levelsCount > 0) { levelsCount--; _instance._index++; GameGUIController.Instance.LevelNumber = LevelNumber; var enemiesCount = SpawnPointEnemiesManager.GetEnemiesCount(); GameGUIController.Instance.EnemiesCount = enemiesCount; if (Load(CurrentLevel)) { break; } } }
private IEnumerator NextLevelLoadScreen(EventHandler overlapScreen) { var defaultScale = Time.timeScale; Time.timeScale = 0; var loop = true; var level = LevelManager.LevelNumber + 1; LoadLevelSceneController.Show(level, (s, e) => { loop = false; }, null); while (loop) { yield return(null); } if (overlapScreen != null) { overlapScreen(this, EventArgs.Empty); } yield return(new WaitForSecondsRealtime(1f)); LevelManager.NextLevel(); AudioManager.PlayMainSound(_instance.AudioStartLevel); yield return(new WaitForSecondsRealtime(1f)); loop = true; LoadLevelSceneController.Hide((s, e) => { loop = false; }); while (loop) { yield return(null); } Time.timeScale = defaultScale; SpawnPointEnemiesManager.StartSpawn(); Player1.ResetEnemy(); Player2.ResetEnemy(); }
private void Awake() { _instance = this; _orderEnemiesSpawn = new EnemyType[0]; }