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 }
// 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); } }