public void Reset() { FieldObjects = new List <IGameObject>(); var projectileFactory = ProjectileFactory.GetInstance(); var asteroidFactory = AsteroidFactory.GetInstance(); asteroidFactory.StopIntervaledProduction(); var player = new Ship(_playerTexture, new Rectangle(0, 0, 130, 210), new Rectangle(140, 0, 20, 67), new Rectangle(168, 2, 20, 10), 0.5f); AddPlayer(player); asteroidFactory.AddAsteroids(3); asteroidFactory.BeginIntervaledProduction(5000); }
private void _processProjectileHit() { hitCount++; if (hitCount >= _maxHits) { _expired = true; if (_addSmallOnExpire) { AsteroidFactory.GetInstance().AddSmallAsteroids(3, _color, _location); } } else { _textureRectangle.X += _textureRectangle.Width; } }
private GameField(ContentManager content) { _ready = false; _texture = content.Load <Texture2D>("Sprites/StarField"); _playerTexture = content.Load <Texture2D>("Sprites/SpaceShip"); _collisionDetector = new CollisionDetector(); var projectileFactory = ProjectileFactory.GetInstance(); var asteroidFactory = AsteroidFactory.GetInstance(); _gameObjectFactories = new List <IGameObjectFactory>() { asteroidFactory, projectileFactory }; Reset(); MusicEngine.GetInstance().PlayMeditation(); }