public GameObject SpawnEnemy(SpaceShooterData.Enemies enemyToSpawn) { GameObject newEnemy = null; Vector3 randomSpawn = new Vector2(Random.Range(-SpaceShooterData.SpawnX, SpaceShooterData.SpawnX), SpaceShooterData.EnemyBoundLimitsY); Quaternion randomRot = (Random.value < 0.75f) ? Quaternion.identity : Quaternion.Euler(0f, 0f, Random.Range(0f, (transform.position.x <= 0f) ? SpaceShooterData.MaxEnemyRotation : -SpaceShooterData.MaxEnemyRotation)); switch (enemyToSpawn) { case SpaceShooterData.Enemies.Rookie: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Rookie, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Bomber: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Bomber, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Toxic: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Toxic, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Reckless: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Reckless, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Watcher: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Watcher, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Avoider: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Avoider, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Collector: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Collector, randomSpawn, randomRot); break; case SpaceShooterData.Enemies.Asteroid: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Asteroid, randomSpawn, randomRot); break; } return(newEnemy); }
public GameObject SpawnEnemy(SpaceShooterData.Enemies enemyToSpawn, Quaternion rot) { GameObject newEnemy = null; Vector3 randomSpawn = new Vector2(Random.Range(-SpaceShooterData.SpawnX, SpaceShooterData.SpawnX), SpaceShooterData.EnemyBoundLimitsY); switch (enemyToSpawn) { case SpaceShooterData.Enemies.Rookie: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Rookie, randomSpawn, rot); break; case SpaceShooterData.Enemies.Bomber: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Bomber, randomSpawn, rot); break; case SpaceShooterData.Enemies.Toxic: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Toxic, randomSpawn, rot); break; case SpaceShooterData.Enemies.Reckless: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Reckless, randomSpawn, rot); break; case SpaceShooterData.Enemies.Watcher: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Watcher, randomSpawn, rot); break; case SpaceShooterData.Enemies.Avoider: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Avoider, randomSpawn, rot); break; case SpaceShooterData.Enemies.Collector: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Collector, randomSpawn, rot); break; case SpaceShooterData.Enemies.Asteroid: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Asteroid, randomSpawn, rot); break; } return(newEnemy); }
public GameObject SpawnEnemy(SpaceShooterData.Enemies enemyToSpawn, Vector2 pos, Quaternion rot) { GameObject newEnemy = null; switch (enemyToSpawn) { case SpaceShooterData.Enemies.Rookie: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Rookie, pos, rot); break; case SpaceShooterData.Enemies.Bomber: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Bomber, pos, rot); break; case SpaceShooterData.Enemies.Toxic: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Toxic, pos, rot); break; case SpaceShooterData.Enemies.Reckless: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Reckless, pos, rot); break; case SpaceShooterData.Enemies.Watcher: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Watcher, pos, rot); break; case SpaceShooterData.Enemies.Avoider: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Avoider, pos, rot); break; case SpaceShooterData.Enemies.Collector: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Collector, pos, rot); break; case SpaceShooterData.Enemies.Asteroid: newEnemy = ObjectPool.Instance.GetPooledObject(ObjectPool.PoolType.Asteroid, pos, rot); break; } return(newEnemy); }