private BulletBase GetBullet() { BulletBase bullet = null; if (m_cacheBullet.Count > 0) { bullet = m_cacheBullet[0]; m_cacheBullet.Remove(bullet); } else { bullet = Instantiate(m_template); bullet.BulletOnInit(HandleBulletDisable, HandleBulletEnable); } bullet.transform.position = m_fireNode.transform.position; return(bullet); }