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); }
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); }
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(); }
public void BeginFadingToBlack(float max, bool fadeIn, Level level) { BeginFadingToBlack(max, fadeIn); fadeToBlackDelegate = new FinishedFadingToBlackDelegate(level.FinishedFadingToBlack); }