示例#1
0
        public Enemy(Game1 game, Level level)
        {
            int randomType = Game1.Random.Next(0, 100);

            if (randomType < level.levelData.i_EnemyMinorChance)
            {
                ed_EnemyData = game.EnemyDataForType(EnemyData.Type.Normal);
            }
            else if (randomType < (level.levelData.i_EnemyMajorChance + level.levelData.i_EnemyMinorChance))
            {
                ed_EnemyData = game.EnemyDataForType(EnemyData.Type.Destroyer);
            }

            InitaliseEnemy(game);
        }
示例#2
0
        public void InitalizeLevel(Level level, Game1 game)
        {
            loadedLevel = level;

            f_Fusions = 0;
            i_ShieldPulseCounter = 0;
            i_shipAlpha = 0.5f;
            i_PulseRate = 60;

            enemies = new Enemy[loadedLevel.levelData.i_MaxNumberEnemies];
            for (int j = 0; j < loadedLevel.levelData.i_MaxNumberEnemies; j++)
            {
                enemies[j] = new Enemy(game, loadedLevel);
                enemies[j].LoadTexture(game.Content);
                enemies[j].Rectangle = new Rectangle(((int)enemies[j].Position.X - (enemies[j].Texture.Width / 2)), ((int)enemies[j].Position.Y - (enemies[j].Texture.Height / 2)), enemies[j].Texture.Width, enemies[j].Texture.Height);
                enemies[j].TextureData = new Color[enemies[j].Texture.Width * enemies[j].Texture.Height];
                enemies[j].Texture.GetData(enemies[j].TextureData);
                enemies[j].ShieldSpark = new ShieldSparkParticleSystem(game, 3);
                game.Components.Add(enemies[j].ShieldSpark);
                enemies[j].ParticleKill = new ParticleKillParticleSystem(game, 4);
                game.Components.Add(enemies[j].ParticleKill);
            }

            Fused = new Particle[loadedLevel.levelData.i_MaxNumberFused];
            for (int j = 0; j < loadedLevel.levelData.i_MaxNumberFused; j++)
            {
                Fused[j] = new Particle(loadedLevel.levelBounds);
                Fused[j].Fusion = new FusionParticleSystem(game, 20);
                game.Components.Add(Fused[j].Fusion);
                Fused[j].LoadTex(t_Fused);
            }

            Photons = new Particle[loadedLevel.levelData.i_MaxNumberPhotons];
            for (int j = 0; j < loadedLevel.levelData.i_MaxNumberPhotons; j++)
            {
                Photons[j] = new Particle(loadedLevel.levelBounds);
                Photons[j].LoadTex(t_Photon);
                Photons[j].Fusion = new FusionParticleSystem(game, 20);
                game.Components.Add(Photons[j].Fusion);
            }
            Chlor = new Particle[loadedLevel.levelData.i_MaxNumberChloro];
            for (int j = 0; j < loadedLevel.levelData.i_MaxNumberChloro; j++)
            {
                Chlor[j] = new Particle(loadedLevel.levelBounds);
                Chlor[j].LoadTex(t_Chlor);
                Chlor[j].Fusion = new FusionParticleSystem(game, 20);
                game.Components.Add(Chlor[j].Fusion);
            }

            bullets = new Bullet[i_BulletMax];
            tethers = new Bullet[i_BulletMax];
            for (int j = 0; j < i_BulletMax; j++)
            {
                bullets[j] = new Bullet(t_Bullet);
                tethers[j] = new Bullet(t_Tether);
            }
            stupidline = new Bullet[i_StupidLineMax];
            for (int j = 0; j < i_StupidLineMax; j++)
            {
                stupidline[j] = new Bullet(t_Tether);
            }

            ship = new Ship(500, 350, t_Ship);
            ship.Turret = game.Content.Load<Texture2D>("Ship//turret");
            tetherState = TetherState.shooting;

            offset = ship.OffsetUpdate(offset);
            engineSmoke = new EngineParticleSystem(game, 9);
            game.Components.Add(engineSmoke);
            shipExplosion = new ExplosionParticleSystem(game, 9);
            game.Components.Add(shipExplosion);
        }
示例#3
0
        protected override void Initialize()
        {
            engine = new AudioEngine("Content\\Audio\\sound.xgs");
            soundBank = new SoundBank(engine, "Content\\Audio\\Sound Bank.xsb");
            waveBank = new WaveBank(engine, "Content\\Audio\\Wave Bank.xwb");

            MenuMusic = soundBank.GetCue("drumLoop");
            GameOver = soundBank.GetCue("gameOver");

            newGame = new Rectangle(350, 500, 100, 20);
            options = new Rectangle(350, 520, 80, 20);
            controls = new Rectangle(350, 540, 80, 20);
            quit = new Rectangle(350, 560, 60, 20);

            enemiesData = Content.Load<EnemyData[]>("Enemies");
            levelsData = Content.Load<LevelData[]>("Levels");
            levels = new Level[levelsData.Length];

            for (int i = 0; i < levelsData.Length; i++)
            {
                Level newLevel;

                if (levelsData[i].s_LevelName == "Tutorial")
                {
                    newLevel = new Tutorial(levelsData[i]);
                }
                else
                {
                    newLevel = new Level(levelsData[i]);
                }

                newLevel.Initialize(soundBank);
                levels[i] = newLevel;
            }

            gameEngine = new Engine();
            gameEngine.Initialize(soundBank);

            fd_Fader = new Fader();
            fd_Fader.Initialize(this);

            base.Initialize();
        }
示例#4
0
 public void BeginFadingToBlack(float max, bool fadeIn, Level level)
 {
     BeginFadingToBlack(max, fadeIn);
     fadeToBlackDelegate = new FinishedFadingToBlackDelegate(level.FinishedFadingToBlack);
 }