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); }
public void Shot(BulletController bullet, Vector2 moveDir) { var startPos = transform.position; bullet.Move(startPos, moveDir); }