public void ExecuteFire() // invokded from Input handler { if(m_playerModel.LastFireTime + m_playerModel.FireInterval <= Time.time) // handling firing interval { SpaceInvaderAbstractFactory spaceInvaderFactory = SpaceInvaderFactoryProducer.GetFactory("PlayerBulletFactory"); // accessomg InvaderFactory PlayerBullet playerBullet = spaceInvaderFactory.GetPlayerBullet(); playerBullet.transform.position = m_playerModel.Position + new Vector3(0, .3f, 0); // adding little offset on y axist for stating not fromcentre playerBullet.transform.rotation = Quaternion.identity; playerBullet.gameObject.SetActive(true); m_playerModel.LastFireTime = Time.time; playerBullet.PlayFireSound(); } }
public override void RecyclePlayerBullet(PlayerBullet playerbullet) { PoolManager.Instance.PutObjectBacktoPool(playerbullet.gameObject); }
public override void RecyclePlayerBullet(PlayerBullet playerbullet) { }
public abstract void RecyclePlayerBullet(PlayerBullet playerBullet);