Beispiel #1
0
        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 });
        }
Beispiel #3
0
        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]);
                }
            }
        }
Beispiel #4
0
        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);
        }