Example #1
0
        public async UniTask <BulletComponent> SpawnBullet(GameObject prefab, Transform spawnPoint)
        {
            GameObject bulletGO = await _multiplePrefabMemoryPool.SpawnObject(prefab);

            bulletGO.transform.position = spawnPoint.position;
            bulletGO.transform.rotation = spawnPoint.rotation;

            BulletComponent bullet = bulletGO.GetComponent <BulletComponent>();

            _gameSignals.BulletSpawnedSignal.Fire(bullet);
            return(bullet);
        }
Example #2
0
 private void HandleBulletDespawned(BulletComponent bulletComponent)
 {
     RemoveTransform(bulletComponent.transform);
 }
Example #3
0
 private void HandleBulletSpawned(BulletComponent bulletComponent)
 {
     RegisterTransform(bulletComponent.transform);
 }
Example #4
0
 private void DespawnBullet(BulletComponent bullet)
 {
     _gameSignals.BulletDespawnedSignal.Fire(bullet);
     _multiplePrefabMemoryPool.DespawnObject(bullet.gameObject);
 }