private void SpawnEnemyWaves()
 {
     // create the stack of points
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
     //InvokeRepeating("SpawnOneEnemy", 0f, 0.25f);
     InvokeRepeating(SPAWN_ENEMY_METHOD, spawnDelay, spawnInterval);
 }
Beispiel #2
0
    private void SpawnOneEnemy()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }

        if (burst.Count == 0)
        {
            // Get a Stack of the next round of enemies to be spawned
            burst = waveConfig.CreateEnemyBurst();
        }

        // Position the new Enemy
        var enemy = Instantiate(burst.Pop(), enemyParent.transform);
        var sp    = spawnStack.Pop();

        enemy.transform.position = sp.transform.position;

        // Get the Asteroids moving
        var asteroid = enemy.GetComponent <AsteroidMovement>();

        if (asteroid)
        {
            SetAsteroidMovement(sp, asteroid);
        }

        PublishOnEnemySpawnedEvent();
    }
    // stack version
    private void SpawnOneEnemy()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }
        var enemy = Instantiate(enemyPrefab, enemyParent.transform);
        var sp    = spawnStack.Pop();

        enemy.transform.position = sp.transform.position;
    }
 private void Start()
 {
     enemyParent = GameObject.Find("EnemyParent");
     if (!enemyParent)
     {
         enemyParent = new GameObject("EnemyParent");
     }
     spawnPoints = GetComponentsInChildren <SpawnPoint>();
     spawnStack  = ListUtils.CreateShuffledStack(spawnPoints);
     Invoke("EnableSpawning", 5);
 }
Beispiel #5
0
    // stack version
    private void SpawnOneEnemy()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }
        var boss = Instantiate(bossPrefab, bossParent.transform);
        var sp   = spawnStack.Pop();

        boss.transform.position = sp.transform.position;
        PublishOnBossSpawnedEvent();   // tell the system
    }
Beispiel #6
0
    // stack version
    private void SpawnOneGrunt()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }
        var grunt = Instantiate(gruntPrefab, gruntParent.transform);
        var sp    = spawnStack.Pop();

        grunt.transform.position = sp.transform.position;
        PublishOnGruntSpawnedEvent();   // tell the system
    }
 // private methods
 private void Start()
 {
     enemyParent = GameObject.Find("EnemyParent");
     if (!enemyParent)
     {
         enemyParent = new GameObject("EnemyParent");
     }
     // Get the spawn points
     spawnPoints = GetComponentsInChildren <SpawnPoint>();
     // Create the stack of points
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
 }
Beispiel #8
0
    //private ListUtils listUtils = new ListUtils();

    // == private methods ==
    private void Start()
    {
        enemyParent = GameObject.Find("EnemyParent");
        if (!enemyParent)
        {
            enemyParent = new GameObject("EnemyParent");
        }
        // get the spawn points here
        spawnPoints = GetComponentsInChildren <SpawnPoint>();
        //SpawnEnemyWaves();
        spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        //EnableSpawning();
    }
Beispiel #9
0
    //private ListUtils listUtils = new ListUtils();

    // == private methods ==
    private void Start()
    {
        gruntParent = GameObject.Find("GruntParent");
        if (!gruntParent)
        {
            gruntParent = new GameObject("GruntParent");
        }
        // get the spawn points here
        spawnPoints = GetComponentsInChildren <SpawnPoint>();
        //SpawnGruntWaves();
        // create the stack of points
        spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        EnableSpawning();
    }
    private void SpawnOneEnemy()
    {
        randEnemy = Random.Range(0, 2);

        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }
        var enemy = Instantiate(enemyPrefab[randEnemy], enemyParent.transform);
        var sp    = spawnStack.Pop();

        enemy.transform.position = sp.transform.position;
        PublishEnemySpawnedEvent();
    }
Beispiel #11
0
    // == private methods ==
    private void Start()
    {
        bossParent = GameObject.Find(bossParentName);

        if (!bossParent)
        {
            bossParent = new GameObject(bossParentName);
        }
        // get the spawn points here
        spawnPoints = GetComponentsInChildren <SpawnPoint>();
        //SpawnEnemyWaves();
        // create the stack of points
        spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        //EnableBossSpawning();
    }
Beispiel #12
0
    void Start()
    {
        enemyParent = GameObject.Find(ENEMY_PARENT);

        if (!enemyParent)
        {
            enemyParent = new GameObject(ENEMY_PARENT);
        }

        // Get the SpawnPoints
        spawnPoints = GetComponentsInChildren <SpawnPoint>();

        // Create a stack of SpawnPoints
        spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
    }
Beispiel #13
0
    //private void SpawnEnemyWaves()
    //{
    //    // create the stack of points
    //    spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
    //    //InvokeRepeating("SpawnOneEnemy", 0f, 0.25f);
    //    InvokeRepeating(SPAWN_ENEMY_METHOD, spawnDelay, spawnInterval);
    //}

    // stack version
    private void SpawnOneEnemy()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }
        var enemy = Instantiate(enemyPrefab, enemyParent.transform);
        var sp    = spawnStack.Pop();

        enemy.transform.position = sp.transform.position;
        //set the enemy parameters
        enemy.GetComponent <EnemyBehaviour>().SetMoveSpeed(waveConfig.GetEnemySpeed());
        enemy.GetComponent <Enemy>().ScoreValue      = waveConfig.GetScoreValue();
        enemy.GetComponent <SpriteRenderer>().sprite = waveConfig.GetEnemiesSprite();
        PublishEnemySpawnedEvent();
    }
    // stack version
    private void SpawnOneEnemy()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }

        // RNG for enemy selection
        int rand = UnityEngine.Random.Range(0, 5);
        //Debug.Log(rand);

        var enemy        = new Enemy();
        var reflectEnemy = new ReflectEnemy();

        // Instantiates enemy object
        // 50% passive enemy, 50% other enemies
        if (rand == 1)
        {
            enemy = Instantiate(enemyPrefab, enemyParent.transform);
        }
        else if (rand == 2)
        {
            enemy = Instantiate(enemyPrefab2, enemyParent.transform);
        }
        else if (rand == 3)
        {
            enemy = Instantiate(enemyPrefab2, enemyParent.transform);
        }
        else if (rand == 4)
        {
            reflectEnemy = Instantiate(enemyPrefab3, enemyParent.transform);
        }

        var sp = spawnStack.Pop();

        // uses selected type of enemy
        if (rand == 1 || rand == 2 || rand == 3)
        {
            enemy.transform.position = sp.transform.position;
        }
        else if (rand == 4)
        {
            reflectEnemy.transform.position = sp.transform.position;
        }
    }
Beispiel #15
0
    // stack version
    private void SpawnOneCrate()
    {
        if (spawnStack.Count == 0)
        {
            spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
        }

        var sp = spawnStack.Pop();

        if (healthCrate)
        {
            Instantiate(healthCrate, crateParent.transform);
            healthCrate.transform.position = sp.transform.position;
        }
        if (rpfCrate)
        {
            Instantiate(rpfCrate, crateParent.transform);
            rpfCrate.transform.position = sp.transform.position;
        }
    }
Beispiel #16
0
    public Stack <Enemy> CreateEnemyBurst()
    {
        // Returns a Stack containing UFOs and Asteroids shuffled in a random order.
        // The size of the Stack is the sum of numUfos & numAsteroids.

        var enemyBurst = new List <Enemy>();

        for (int i = 0; i < numAsteroids; i++)
        {
            // Pick a random asteroid prefab
            int rIndex = Random.Range(0, asteroids.Count);
            enemyBurst.Add(asteroids[rIndex].GetComponent <Enemy>());
        }

        for (int i = 0; i < numUfos; i++)
        {
            enemyBurst.Add(ufo.GetComponent <Enemy>());
        }

        return(ListUtils.CreateShuffledStack(enemyBurst));
    }
 private void SpawnEnemyWaves()
 {
     // create the stack of points
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
 }
 // == Private Methods ==
 private void ShuffleSpawnPoints()
 {
     pointsToSpawn = ListUtils.CreateShuffledStack(spawnPoints);
 }
 private void SpawnEnemyWaves()
 {
     // create the stack of points
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
     InvokeRepeating(SPAWN_ENEMY_METHOD, spawnDelay, waveConfig.GetSpawnInterval());
 }
Beispiel #20
0
 private void SpawnGruntWaves()
 {
     // create the stack of points
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
     InvokeRepeating(SPAWN_GRUNT_METHOD, spawnDelay, spawnInterval);
 }
 private void SpawnEnemyWaves()
 {
     spawnStack = ListUtils.CreateShuffledStack(spawnPoints);
     InvokeRepeating(SPAWN_ENEMY_METHOD, spawnDelay, spawnInterval);
 }
 // == Private Methods
 private void ShuffleDocks()
 {
     docksToSpawn = ListUtils.CreateShuffledStack(docks);
 }