private float SpawnUnit(CardData unitData) { for (int i = 0; i < spawnPoints.Length; i++) { NonControllableUnit tmp = Instantiate((NonControllableUnit)unitData.unit, spawnPoints[i]); tmp.Initialize(FindClosestTarget(spawnPoints[i].position), unitData.unitStats, "EnemyTeam"); enemyUnits.Add(tmp); } return(unitData.unitStats.cooldown); }
protected virtual void SpawnUnit(CardData unitData, Vector3 position) { NonControllableUnit unit = Instantiate <NonControllableUnit>( (NonControllableUnit)unitData.unit, spawnPosition, board.Value.npcSpawnPosition.rotation ); unit.Initialize(playerHero, unitData.unitStats, "EnemyTeam"); npcUnits.Add(unit); }
private void Update() { if (timerEvent > 0f) { timerEvent -= Time.deltaTime; if (timerEvent <= 0f) { lastWave = encounterEvent.NextPhase(ref nextSpawn); if (!lastWave) { timerSpawn = Time.deltaTime; } else { NonControllableUnit tmp = Instantiate((NonControllableUnit)boss.unit, bossSpawnPoint); tmp.Initialize(activeHero, boss.unitStats, "EnemyTeam"); enemyUnits.Add(tmp);//TODO EVENT CLEAR } } } if (timerSpawn > 0f) { timerSpawn -= Time.deltaTime; if (timerSpawn <= 0f) { timerSpawn = SpawnUnit(nextSpawn[0]); nextSpawn.RemoveAt(0); timerEvent -= timerSpawn; if (nextSpawn.Count == 0) { timerEvent *= -1f; timerSpawn = -1f; } } } }