示例#1
0
        void Spawn_AsteroidExplosion(bool spawnBig, Vector2 position)
        {
            Poolable explosion = spawnBig ? m_BigExplosionPool.GetRecyclable() : m_SmallExplosionPool.GetRecyclable();

            explosion.transform.position = position;
            explosion.transform.rotation = Random.rotation;
        }
示例#2
0
        private Asteroid SpawnAsteroidFromPool(ObjectPool pool)
        {
            Asteroid asteroid = pool.GetRecyclable <Asteroid>();

            asteroid.Spawn();
            return(asteroid);
        }
示例#3
0
 void SpawnAsteroids(int count)
 {
     for (int i = 0; i < count; i++)
     {
         ObjectPool bigOrSmall = i % 2 == 0 ? _bigAsteroidsPool : _smallAsteroidsPool;
         var        asteroid   = bigOrSmall.GetRecyclable <Asteroid>();
         asteroid.Spawn();
     }
 }
示例#4
0
 void SpawnEnemies(int count)
 {
     for (int i = 0; i < count; i++)
     {
         ObjectPool pool  = EnemyPools[Random.Range(0, EnemyPools.Count - 1)];
         var        enemy = pool.GetRecyclable <EnemyUnit>();
         enemy.Spawn();
     }
 }