Beispiel #1
0
 private void _fireProjectile()
 {
     if ((DateTime.Now.Ticks - _fireInterval) > _lastFired)
     {
         var projectileFactory = ProjectileFactory.GetInstance();
         projectileFactory.AddStandardProjectile(_location, _direction, Color.Red);
         SoundEffectEngine.GetInstance().PlayLaserShot();
         _lastFired = DateTime.Now.Ticks;
     }
 }
Beispiel #2
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);
        }
Beispiel #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();
        }