コード例 #1
0
        public void Update(GameTime gameTime)
        {
            var asteroids = _components.GetAllOfType <Asteroid>();

            foreach (var asteroid in asteroids)
            {
                if (asteroid.Destroyed)
                {
                    if (asteroid.Size == 5)
                    {
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Medium, asteroid.Position));
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Medium, asteroid.Position));
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Medium, asteroid.Position));
                    }
                    else if (asteroid.Size == 3)
                    {
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Small, asteroid.Position));
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Small, asteroid.Position));
                        _components.Add(new Asteroid(asteroid.Texture, Asteroid.AsteroidSize.Small, asteroid.Position));
                    }

                    _components.Remove <Asteroid>(asteroid);
                }
            }
        }
コード例 #2
0
        public void Fire()
        {
            var fireball = _components.GetSingleOrDefault <Fireball>();

            if (fireball == null)
            {
                var ship = _components.GetSingle <Ship>();
                _components.Add(new Fireball(_gameScreen.Textures["Fireball"], ship.Position, ship.Direction, ship.Rotation));
            }
            else
            //    fireball.Update(gameTime);

            if (fireball.Destroyed)
            {
                _components.Remove <Fireball>(fireball);
            }
        }