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);
        }