//Triggered by game conductor round start event public void OnRoundStart(int roundNumber, RoundSettings round) { enemiesToKillThisRound = round.GetTotalEnemyCount(); enemiesKilledThisRound = 0; roundInitialized = true; Debug.Log("Enemy manager initialized new round"); }
private void PopulateRoundSettings(float growthTime, float minGrowth, int yield) { for (int i = 0; i < roundSettings.Length; i++) { roundSettings[i] = new RoundSettings(growthTime, minGrowth, yield); } }
public void NextRound() { if (rounds.Count == 0) { Debug.Log("Error: No Rounds"); } if (bombSpawn != null) { StopCoroutine(bombSpawn); } if (blockSpawn != null) { StopCoroutine(blockSpawn); } if (GameManager.instance.CheckWin()) { return; } timer = 0f; // Cancels timer if still active UIManager.instance.UpdateTimerUI(0f); foreach (FriendController f in playersToRespawn) { f.Respawn(); } playersToRespawn.Clear(); RoundAbstract next = rounds.Count == 1 ? rounds[0] : currentRound; while (currentRound == next && rounds.Count > 1) { next = rounds[Random.Range(0, rounds.Count)]; } currentRound = next; settings = currentRound.settings; if (settings.bombSpawn) { bombSpawn = StartCoroutine(SpawnBomb()); } if (settings.blockSpawn) { blockSpawn = StartCoroutine(SpawnBlock()); } currentRound.StartRound(); UIManager.instance.UpdateRoundUI(currentRound); }
public void OnNextRoundEvent(int i, RoundSettings round) { DestroyAllSpawned(); foreach (EnemySpawnInfo esi in round.enemies) { toSpawn.Add(new SpawnQueueItem() { objectToSpawn = esi.enemy.inGamePrefab, amountLeftToSpawn = esi.spawnAmount, maxAlive = esi.maxAlive }); } activeRoundSettings = round; }
private void Awake() { // Get ID's for each component //moveID = MovementID.walk; //enemyID = EnemyID.simpleFollower; //combatID = CombatID.dash; //terrainID = TerrainID.maze; // setup round settings based on ID's rs = new RoundSettings(moveID, enemyID, combatID, terrainID); // Setup Player GameObject playerGO = new GameObject(); player = playerGO.AddComponent <Player>(); player.UpdateMovementSettings(rs.moveInfo); // setup terrain terrain = rs.SetupTerrain(); // setup overall canvas canvasBody = new GameObject(); canvasBody.name = "Canvas"; canvas = canvasBody.AddComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; canvasScaler = canvasBody.AddComponent <CanvasScaler>(); canvasGR = canvasBody.AddComponent <GraphicRaycaster>(); // setup combat combat = rs.GiveCombat(player); player.GiveCombat(combat); // setup enemies enemies = new List <Enemy>(); for (int i = 0; i < terrain.GetEnemyCount(); i++) { enemies.Add(rs.CreateEnemy()); } terrain.InitialPositionEnemies(enemies); }