Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 private void _processProjectileHit()
 {
     hitCount++;
     if (hitCount >= _maxHits)
     {
         _expired = true;
         if (_addSmallOnExpire)
         {
             AsteroidFactory.GetInstance().AddSmallAsteroids(3, _color, _location);
         }
     }
     else
     {
         _textureRectangle.X += _textureRectangle.Width;
     }
 }
Ejemplo n.º 3
0
        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();
        }