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;
     }
 }
Example #2
0
    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");
        }
    }