コード例 #1
0
        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();
            } 
        }
コード例 #2
0
 public override void RecyclePlayerBullet(PlayerBullet playerbullet)
 {
     PoolManager.Instance.PutObjectBacktoPool(playerbullet.gameObject);
 }
コード例 #3
0
 public override void RecyclePlayerBullet(PlayerBullet playerbullet)
 {
 }
コード例 #4
0
 public abstract void RecyclePlayerBullet(PlayerBullet playerBullet);