Beispiel #1
0
 public override void Attack()
 {
     if (!shellPool.IsPoolEmpty())
     {
         Fire();
     }
     else
     {
         PreSpawnShells(increaseShellCount);
         Fire();
     }
 }
Beispiel #2
0
        private void ShootLazers()
        {
            if (lazerPool.IsPoolEmpty())
            {
                PopulatePool();
            }

            SpawnableBase Lazer = lazerPool.GetInctance();

            Lazer.transform.position = playerView.ShootPos.position;
            Lazer.gameObject.SetActive(true);
        }
Beispiel #3
0
 private IEnumerator SpawnEnemies()
 {
     while (true)
     {
         if (!enemyPool.IsPoolEmpty())
         {
             EnemyBase enemy = enemyPool.GetInctance();
             enemy.transform.position = spawnPos[Random.Range(0, spawnPos.Count)].position;
             enemy.gameObject.SetActive(true);
             enemy.RestoreEnemy();
             yield return(null);
         }
         yield return(new WaitForSeconds(1f));
     }
 }
Beispiel #4
0
        private IEnumerator Spawn()
        {
            while (true)
            {
                if (currentPool.IsPoolEmpty() == true)
                {
                    PopulatePool();
                }

                if (CanSpawn)
                {
                    SpawnableBase currAsteroid = currentPool.GetInctance();
                    currAsteroid.SetPool(currentPool);
                    currAsteroid.transform.position = levelView.SpawnPos[Random.Range(0, levelView.SpawnPos.Count)].position;
                    currAsteroid.gameObject.SetActive(true);
                }

                yield return(new WaitForSecondsRealtime(currentLevel.LevelData.spawnRate));
            }
        }