Ejemplo n.º 1
0
    void Fire()
    {
        firing    = true;
        reloading = false;

        GameObject newProjectile = projectilePool.GetNextObject();

        newProjectile.transform.position = muzzle.position;
        newProjectile.transform.rotation = muzzle.rotation;

        PoolProjectile poolProjectile = newProjectile.GetComponent <PoolProjectile>();

        poolProjectile.poolObject.Activate();

        //PoolObject poolProjectileObject = newProjectile.GetComponent<PoolObject>();
        //if(poolProjectileObject == null)
        //{
        //    poolProjectileObject = newProjectile.AddComponent<PoolObject>();
        //}
        //poolProjectileObject.Activate();
        //poolProjectileObject.SetLifeTime(5f);

        ammo -= 1;

        // TODO: Play fire animation
    }
Ejemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        muzzle = transform.Find("Muzzle");

        projectilePool             = gameObject.AddComponent <ObjectsPool> ();
        projectilePool.poolObject  = projectile;
        projectilePool.poolObjects = new List <GameObject>();
        for (int i = 0; i < (int)(ammoCapacity * 1.5f); i++)
        {
            GameObject newProjectile = Instantiate(projectile, projectilePool.transform.position, projectilePool.transform.rotation);

            PoolProjectile newPoolProjectile = newProjectile.GetComponent <PoolProjectile>();
            newPoolProjectile.poolObject = newProjectile.GetComponent <PoolObject>();
            if (newPoolProjectile.poolObject == null)
            {
                newPoolProjectile.poolObject = newProjectile.AddComponent <PoolObject>();
            }

            newPoolProjectile.poolObject.pool = projectilePool;
            newPoolProjectile.poolObject.Deactivate();

            projectilePool.InsertObject(newProjectile);
        }
    }