Beispiel #1
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>

        protected override void LoadContent()
        {
            // Sprites
            spriteBatch = new SpriteBatch(GraphicsDevice);

            LinkSpriteSheet    = Content.Load <Texture2D>("Link Sprite Sheet");
            MonsterSpriteSheet = Content.Load <Texture2D>("Monster Sprite Sheet");
            ItemSpriteSheet    = Content.Load <Texture2D>("Item Sprite SHeet");
            EffectSpriteSheet  = Content.Load <Texture2D>("Effects Sprite Sheet");
            TileSpriteSheet    = Content.Load <Texture2D>("Tile Sprite Sheet");
            InventoryScreen    = Content.Load <Texture2D>("HUD");

            // Dungeon
            DungeonMain       = Content.Load <Texture2D>("Dungeon1_Main");
            DungeonDoorFrames = Content.Load <Texture2D>("Dungeon1_Door_Frames");

            /*
             * addes sound Effects
             * 0.LOZ_Arrow_Boomerang
             * 1 LOZ_Bomb_Blow
             * 2 LOZ_Bomb_Drop
             * 3 LOZ_Boss_Scream1
             * 4 LOZ_Candle
             * 5 LOZ_Door_Unlock
             * 6 LOZ_Enemy_Die
             * 7 LOZ_Enemy_Hit
             * 8 LOZ_Fanfare
             * 9 LOZ_Get_Heart
             * 10 LOZ_Get_Item
             * 11 LOZ_Get_Rupee
             * 12 LOZ_Key_Appear
             * 13 LOZ_Link_Die
             * 14 LOZ_Link_Hurt
             * 15 LOZ_LowHealth
             * 16 LOZ_Secret
             * 17 LOZ_Sword_Shoot
             * 18 LOZ_Sword_Slash
             * 19 LOZ_Gunshot
             */
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Arrow_Boomerang"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Bomb_Blow"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Bomb_Drop"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Boss_Scream1"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Candle"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Door_Unlock"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Enemy_Die"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Enemy_Hit"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Fanfare"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Get_Heart"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Get_Item"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Get_Rupee"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Key_Appear"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Link_Die"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Link_Hurt"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_LowHealth"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Secret"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Sword_Shoot"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Sword_Slash"));
            soundEffects.Add(Content.Load <SoundEffect>("LOZ_Gunshot"));


            SpriteLink = new LinkSprite(this, "WalkUp", LinkSpriteSheet, spriteBatch);
            Link       = new Link(this, SpriteLink, LinkSpawn);
            hud        = new HUD(this);
            inv        = new Inventory(this);
            sel        = new SelectionMenu(this);
            this.song  = Content.Load <Song>("musicForGame");
            MediaPlayer.Play(song);
            MediaPlayer.Volume             = 0f;
            MediaPlayer.IsMuted            = true;
            MediaPlayer.IsRepeating        = true;
            MediaPlayer.MediaStateChanged += MediaPlayer_MediaStateChanged;

            CurrDungeon = new Dungeon(this, DefaultDungeon);
        }
Beispiel #2
0
        public static void LoadRoom(Game1 game, Dungeon level, Room room, string file)
        {
            Vector2 Position = new Vector2(0, 0);
            Vector2 Size     = new Vector2(0, 0);

            Console.WriteLine(file);
            XmlReader Reader = XmlReader.Create(file);

            while (Reader.Read())
            {
                if (Reader.NodeType == XmlNodeType.Element)
                {
                    switch (Reader.Name)
                    {
                    case "Location":
                        Position      = ParseVector2(Reader.GetAttribute("Point"));
                        room.Position = new Vector2((int)Position.X, (int)Position.Y);
                        break;

                    case "Monster":
                        room.AliveMonsters.Add(level.MFactory.SpawnMonster(Reader.GetAttribute("Name"), ParseVector2(Reader.GetAttribute("Spawn"))));
                        break;

                    // Items
                    case "Item":
                        room.Items.Add(game.IFactory.SpawnItem(Reader.GetAttribute("Name"), ParseVector2(Reader.GetAttribute("Spawn"))));
                        break;

                    case "Fairy":
                        room.Items.Add(game.IFactory.SpawnFairy(Reader.GetAttribute("Name"), ParseVector2(Reader.GetAttribute("Spawn"))));
                        break;

                    case "HiddenItem":
                        room.HiddenItems.Add(game.IFactory.SpawnItem(Reader.GetAttribute("Name"), ParseVector2(Reader.GetAttribute("Spawn"))));
                        break;


                    // Traps
                    case "BladeTrap":
                        room.Traps.Add(new BladeTrap(game, ParseVector2(Reader.GetAttribute("Spawn"))));
                        break;

                    // Doors
                    case "LockedDoor":
                        room.Doors.Add(new LockedDoor(game, room, Reader.GetAttribute("Side"), Reader.GetAttribute("ConnectsTo"), ParseVector2(Reader.GetAttribute("Point"))));
                        break;

                    case "ClosedDoor":
                        room.Doors.Add(new ClosedDoor(game, room, Reader.GetAttribute("Side"), Reader.GetAttribute("ConnectsTo"), ParseVector2(Reader.GetAttribute("Point"))));
                        break;

                    case "DestroyableWall":
                        room.Doors.Add(new DestroyableWall(game, room, Reader.GetAttribute("Side"), Reader.GetAttribute("ConnectsTo"), ParseVector2(Reader.GetAttribute("Point"))));
                        break;

                    case "BlockDoor":
                        room.Doors.Add(new BlockDoor(game, room, Reader.GetAttribute("Side"), Reader.GetAttribute("ConnectsTo"), ParseVector2(Reader.GetAttribute("Point"))));
                        break;



                    case "ScreenTransition":
                        room.RoomTransitions.Add(new ScreenTransition(ParseVector2(Reader.GetAttribute("Point")), ParseVector2(Reader.GetAttribute("Size")),
                                                                      Reader.GetAttribute("LeadsTo"), ParseVector2(Reader.GetAttribute("DoorCoords"))));
                        break;


                    // Blocks & Boundaries
                    case "Wall":
                        Position = ParseVector2(Reader.GetAttribute("Point"));
                        Size     = ParseVector2(Reader.GetAttribute("Size"));
                        room.Walls.Add(new Rectangle((int)Position.X, (int)Position.Y, (int)Size.X, (int)Size.Y));
                        break;

                    case "Block":
                        Position = ParseVector2(Reader.GetAttribute("Point"));
                        Size     = ParseVector2(Reader.GetAttribute("Size"));
                        room.Blocks.Add(new Rectangle((int)Position.X, (int)Position.Y, (int)Size.X, (int)Size.Y));
                        break;

                    case "MovableBlock":
                        room.Movables.Add(new MovableBlock(game, ParseVector2(Reader.GetAttribute("Point")), ParseDirection(Reader.GetAttribute("Direction"))));
                        break;

                    default:
                        break;
                    }
                }
            }
            Reader.Close();
        }