Exemple #1
0
    public void DestroyBullet()
    {
        //Original destruction approach (BAD FOR PERFORMANCE):
        //Destroy(gameObject);

        //First time destroying by using ObjectPooling:
        //GameObject.Find("BulletPooling").GetComponent<ObjectPooling>().ReturnToPool(gameObject);

        //Final version of our ObjectPooling:
        ObjectPooling.Find("BulletPooling").ReturnToPool(gameObject);
    }
Exemple #2
0
    public GameObject Shoot()
    {
        //Original individual instantion approach (BAD FOR PERFORMANCE):
        //GameObject bullet = Instantiate(shot, shotSpawn.position, shotSpawn.rotation);

        //First time spawning by using ObjectPooling:
        //GameObject bullet = GameObject.Find("BulletPooling").GetComponent<ObjectPooling>().Spawn(shotSpawn.position, shotSpawn.rotation);

        //Final version of our ObjectPooling:
        GameObject bullet = ObjectPooling.Find("BulletPooling").Spawn(shotSpawn.position, shotSpawn.rotation);

        return(bullet);
    }