public Level(int levelNumber, InventoryManager im) : base(false) { LevelData data = DataLoader.LoadLevel(levelNumber); _levelBounds = new Rectangle(0, 0, data.Width, data.Height); _player = new Spaceman(data.PlayerStartLocation); _blackHole = data.BlackHole; _waves = new Wave[data.TrickleWaveData.Length + data.BurstWaveData.Length]; _camera = new Camera2D(_player.Position, _levelBounds.Width, _levelBounds.Height); //construct waves for (int i = 0; i < data.TrickleWaveData.Length; i++) { _waves[i] = new Wave(data.TrickleWaveData[i], true, _levelBounds); } for (int i = 0; i < data.BurstWaveData.Length; i++) { _waves[i + data.TrickleWaveData.Length] = new Wave(data.BurstWaveData[i], false, _levelBounds); } //Test code to set weapons 1-6 to created weapons im.setPrimaryWeapon(new ProjectileWeapon("Rocket", _player)); im.setSecondaryWeapon(new ThrowableWeapon("Cryonade", _player)); im.setPrimaryGadget(new Gadget("Teleporter", this)); im.setSlot(1, new ThrowableWeapon("Cryonade", _player)); //Set Weapon holders in level _primaryWeapon = im.getPrimaryWeapon(); _secondaryWeapon = im.getSecondaryWeapon(); _unicorns = new Unicorn[data.Unicorns.Length]; for (int j = 0; j < data.Unicorns.Length; j++) { _unicorns[j] = new Unicorn(data.Unicorns[j]); } _foodCarts = data.FoodCarts; _primaryGadget = im.getPrimaryGadget(); _inventoryManager = im; userInterface = new GUI(_player, _blackHole); }
public Level(int levelNumber) : base(false) { LevelData data = DataLoader.LoadLevel(levelNumber); _player = new Spaceman(data.PlayerStartLocation); _blackHole = data.BlackHole; _waves = new Wave[data.TrickleWaveData.Length + data.BurstWaveData.Length]; //construct waves for (int i = 0; i < data.TrickleWaveData.Length; i++) { _waves[i] = new Wave(data.TrickleWaveData[i], true); } for (int i = 0; i < data.BurstWaveData.Length; i++) { _waves[i + data.TrickleWaveData.Length] = new Wave(data.BurstWaveData[i], false); } _primaryWeapon = new ProjectileWeapon("Rocket", _player); _secondaryWeapon = new ProjectileWeapon("Swarmer", _player); _primaryGadget = new Gadget(new Gadget.GadgetData { MaxEnergy = 1000 }); }
public void CheckAndApplyCollisions(Wave otherWave) { for (int i = 0; i < _enemies.Length; i++) { if (!_enemies[i].Collides) continue; //don't check enemies that shouldn't collide for (int j = 0; j < otherWave._enemies.Length; j++) { //check collision against other enemies _enemies[i].CheckAndApplyUnitCollision(otherWave._enemies[j]); } } }
public Hud(SpaceGame.units.Spaceman player, SpaceGame.units.BlackHole blackhole, Wave[] waves) { this.screenHeight = Game1.SCREENHEIGHT; this.screenWidth = Game1.SCREENWIDTH; targetWheelRec.X = (screenWidth / 2) - 32; targetWheelRec.Y = screenHeight - targetWheel.Height; targetWheelRec.Width = targetWheel.Width; targetWheelRec.Height = targetWheel.Height; leftClickRec.X = (screenWidth / 2) - 99; leftClickRec.Y = screenHeight - leftClick.Height; leftClickRec.Width = leftClick.Width; leftClickRec.Height = leftClick.Height; rightClickRec.X = (screenWidth / 2) + 148; rightClickRec.Y = screenHeight - rightClick.Height; rightClickRec.Width = rightClick.Width; rightClickRec.Height = rightClick.Height; spaceClickRec.X = (screenWidth / 2) + 256; spaceClickRec.Y = screenHeight - spaceClick.Height; spaceClickRec.Width = spaceClick.Width; spaceClickRec.Height = spaceClick.Height; shiftClickRec.X = (screenWidth / 2) - 340; shiftClickRec.Y = screenHeight - shiftClick.Height; shiftClickRec.Width = shiftClick.Width; shiftClickRec.Height = shiftClick.Height; button1Rec.X = (screenWidth / 2) - 412; button1Rec.Y = screenHeight - button1.Height; button1Rec.Width = button1.Width; button1Rec.Height = button1.Height; button3Rec.X = button1Rec.X; button3Rec.Y = button1Rec.Y - button1.Height - 5; button3Rec.Width = button3.Width; button3Rec.Height = button3.Height; button5Rec.X = button1Rec.X; button5Rec.Y = button1Rec.Y - 2*button1.Height - 2*5; button5Rec.Width = button5.Width; button5Rec.Height = button5.Height; button2Rec.X = (screenWidth / 2) - 484; button2Rec.Y = screenHeight - button2.Height; button2Rec.Width = button2.Width; button2Rec.Height = button2.Height; button4Rec.X = button2Rec.X; button4Rec.Y = button2Rec.Y - button2.Height - 5; button4Rec.Width = button4.Width; button4Rec.Height = button4.Height; button6Rec.X = button2Rec.X; button6Rec.Y = button2Rec.Y - 2 * button2.Height - 2 * 5; button6Rec.Width = button6.Width; button6Rec.Height = button6.Height; voidWheelRec.X = targetWheelRec.X + targetWheel.Width / 2 - voidWheel.Width / 2; voidWheelRec.Y = 0; voidWheelRec.Width = voidWheel.Width; voidWheelRec.Height = voidWheel.Height; this.player = player; this.blackhole = blackhole; //Initialize health bar in its location Vector2 healthBarLoc = new Vector2(targetWheelRec.X + targetWheelRec.Width / 2, (int)(targetWheelRec.Y + HEIGHT_ADJUST * targetWheelRec.Height)); healthBar = new RadialBar(healthBarLoc, targetWheelRec.Width / RADIUS_ADJUST, 25, -(float)Math.PI / ARC_ADJUST, (float)Math.PI / ARC_ADJUST, Color.Red); //Initialize void bar in its location Vector2 voidBarLoc = new Vector2(voidWheelRec.X + voidWheelRec.Width / 2, (int)(voidWheelRec.Y + voidWheelRec.Height - 10)); voidBar = new RadialBar(voidBarLoc, voidWheelRec.Width / RADIUS_ADJUST, 25, (float)(2 * Math.PI - (float)Math.PI / VOID_ARC_ADJUST), (float)Math.PI / VOID_ARC_ADJUST, Color.Purple); }