Esempio n. 1
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         GameObject _ = bulletPool.GetPooledObject(transform.position, transform.rotation);
     }
 }
    private void Spawn()
    {
        //If all the obstacles are not spawned yet, spawn that amount of obstacles
        for (int i = 0; i < Obstacles; i++)
        {
            //Take 2 tranforms and make a random range out of that
            Vector3 randomPos = new Vector3(Random.Range(spawn.position.x, spawn2.position.x), (Random.Range(spawn.position.y, spawn2.position.y)));

            //Quaternion spawnRotation = Quaternion.Euler(0, 0, 0);

            int randomNum = Random.Range(1, 4);

            //spawn the obstacles
            if (randomNum == 1)
            {
                obstaclePool1.GetPooledObject(randomPos, Quaternion.identity);
            }
            if (randomNum == 2)
            {
                obstaclePool2.GetPooledObject(randomPos, Quaternion.identity);
            }
            if (randomNum == 3)
            {
                obstaclePool3.GetPooledObject(randomPos, Quaternion.identity);
            }
            if (randomNum == 4)
            {
                obstaclePool4.GetPooledObject(randomPos, Quaternion.identity);
            }
        }
        Waves++;
    }
    // Zorgt ervoor dat enemies kunnen schieten, en dat die wacht op een reload tijd binnen de 1 en 2 seconden.
    // Gebruikt de pool met enemy bullets
    IEnumerator Shoot()
    {
        yield return(new WaitForSeconds(Random.Range(minReloadTime, maxReloadTime)));

        while (true)
        {
            if (GameManager.Instance.useObjectPool)
            {
                bulletPool.GetPooledObject(gameObject.transform.position, gameObject.transform.rotation);
                yield return(new WaitForSeconds(Random.Range(minReloadTime, maxReloadTime)));
            }
        }
    }
 // De Shoot functie voor als je spatie in drukt. Checked eerst hoeveel actieve turrets je hebt, en zorgt ervoor dat hij
 // met alle actieve turrets schiet zodra je spatie een keer indrukt. Speelt ook een geluidje af per keer dat je schiet.
 void Shoot(List <GameObject> turrets)
 {
     foreach (GameObject turret in turrets)
     {
         if (GameManager.Instance.useObjectPool)
         {
             bulletPool.GetPooledObject(turret.transform.position, turret.transform.rotation);
         }
         else
         {
             Instantiate(playerBullet, turret.transform.position, turret.transform.rotation);
         }
     }
     shootSoundFX.Play();
 }