private BulletMaster SearchBulletMaster(BulletID id) { if (_bulletMasters == null) { return(null); } return(_bulletMasters.FirstOrDefault(master => master.ID == id)); }
public void CreateBullet(BulletID id, Transform parent, Action <BulletController> onCreate) { BulletMaster master = SearchBulletMaster(id); EntityContainer <BulletController> container = _pooledBullets.GetContainer(id); BulletController bullet = TryGetPooledBullet(container); if (bullet == null) { var go = Instantiate(_bulletPrefab, parent); bullet = go.GetComponent <BulletController>(); } bullet.SetMaster(master); container.Set(bullet); onCreate.SafeCall(bullet); }