public MolotovController GetMolotov() { MolotovController molotov = poolMolotov.Dequeue(); ResetPoolObject(molotov, true, gameSceneParent); return(molotov); }
private void ThrowMolotov() { if (numMolotovs > 0) { numMolotovs--; UpdateHUD(); MolotovController molotov = bulletPoolController.GetMolotov(); molotov.transform.position = transform.position + transform.forward * 2 + Vector3.up + transform.right / 2; molotov.SetDirectionOfMoving(transform.rotation, mainCamera.transform.rotation); bottleThrowAudio.Play(); } }
// Start is called before the first frame update void Start() { poolBullets = new Queue <BulletController>(kBulletsNumber); for (int i = 0; i < kBulletsNumber; ++i) { BulletController bullet = (BulletController)Instantiate(bulletPrefab, farAwayVector, Quaternion.Euler(0, 0, 90), poolSceneParent); bullet.name = System.String.Format("Bullet {0:D2}", i); bullet.Init(); bullet.gameObject.SetActive(false); bullet.SetPoolController(this); poolBullets.Enqueue(bullet); } poolMolotov = new Queue <MolotovController>(kMolotovNumber); for (int i = 0; i < kMolotovNumber; ++i) { MolotovController molotov = (MolotovController)Instantiate(molotovPrefab, farAwayVector, Quaternion.identity, poolSceneParent); molotov.name = System.String.Format("Molotov {0:D2}", i); molotov.gameObject.SetActive(false); molotov.SetPoolController(this); poolMolotov.Enqueue(molotov); } }
public void ReturnMolotov(MolotovController molotov) { ResetPoolObject(molotov, false, poolSceneParent); poolMolotov.Enqueue(molotov); }