public Entity AddAsteroid(Assets.Entitasteroids.Scripts.Sources.Features.Asteroid.AsteroidSize newSize) { var component = _asteroidComponentPool.Count > 0 ? _asteroidComponentPool.Pop() : new Assets.Entitasteroids.Scripts.Sources.Features.Asteroid.AsteroidComponent(); component.size = newSize; return(AddComponent(ComponentIds.Asteroid, component)); }
public Entity ReplaceAsteroid(Assets.Entitasteroids.Scripts.Sources.Features.Asteroid.AsteroidSize newSize) { var previousComponent = hasAsteroid ? asteroid : null; var component = _asteroidComponentPool.Count > 0 ? _asteroidComponentPool.Pop() : new Assets.Entitasteroids.Scripts.Sources.Features.Asteroid.AsteroidComponent(); component.size = newSize; ReplaceComponent(ComponentIds.Asteroid, component); if (previousComponent != null) { _asteroidComponentPool.Push(previousComponent); } return(this); }