private void SelectScriptablePool(string tag) { if (m_PathTileScriptablePool.Prefab.CompareTag(tag)) { m_CurrentScriptablePool = m_PathTileScriptablePool; } else if (m_ObstacleTileScriptablePool.Prefab.CompareTag(tag)) { m_CurrentScriptablePool = m_ObstacleTileScriptablePool; } else if (m_FreezeTowerScriptablePool.Prefab.CompareTag(tag)) { m_CurrentScriptablePool = m_FreezeTowerScriptablePool; } else if (m_BombTowerScriptablePool.Prefab.CompareTag(tag)) { m_CurrentScriptablePool = m_BombTowerScriptablePool; } else if (m_EnemyBaseScriptablePool.Prefab.CompareTag(tag)) { m_CurrentScriptablePool = m_EnemyBaseScriptablePool; } else { m_CurrentScriptablePool = m_PlayerBaseScriptablePool; } }
public void Init(MapData mapData, GameObjectScriptablePool enemyPool) { m_MapData = mapData; m_EnemyPool = enemyPool; m_CurrentWave = mapData.m_BoxymonWaves.Dequeue(); OnWaveStart?.Invoke(m_CurrentWaveNumber); if (mapData == null || enemyPool == null) { throw new InvalidOperationException("EnemyBase wasn't initialized correctly.\nMake sure to provide both MapData and an enemy pool"); } }