Как можно передать ссылку на объект в coroutine?
Как можно передать ссылку в итератор, чтобы изменять состояние объекта?
private void BulletGunShoot(ref BulletGunComponent bulletGunComponent)
{
bulletGunComponent.isReloading = true;
var bullet = _world.NewEntity();
ref BulletComponent bulletComponent = ref bullet.Get<BulletComponent>();
var BulletData = BulletInitData.LoadFromAssets();
var spawnedBullet = GameObject.Instantiate(BulletData.bulletPrefab, bulletGunComponent.transform.position, bulletGunComponent.transform.rotation);
bulletComponent.speed = BulletData.speed;
bulletComponent.transform = spawnedBullet.transform;
bulletComponent.direction = bulletGunComponent.transform.up;
Coroutines.StartRoutine(ShootReload(ref bulletGunComponent));
}
public IEnumerator ShootReload(ref BulletGunComponent bulletGunComponent)
{
yield return new WaitForSeconds(bulletGunComponent.reloadTime);
bulletGunComponent.isReloading = false;
}