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); }
private void HandleBulletDespawned(BulletComponent bulletComponent) { RemoveTransform(bulletComponent.transform); }
private void HandleBulletSpawned(BulletComponent bulletComponent) { RegisterTransform(bulletComponent.transform); }
private void DespawnBullet(BulletComponent bullet) { _gameSignals.BulletDespawnedSignal.Fire(bullet); _multiplePrefabMemoryPool.DespawnObject(bullet.gameObject); }