예제 #1
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.White);
            spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied,
                              SamplerState.PointClamp, null, null, null, camera.TranslationMatrix);
            map.Draw(spriteBatch);
            trainingDummy.Draw(spriteBatch);
            player.Draw(spriteBatch);

            spriteBatch.Draw(tempCrate, tempCrateRect, Color.White);
            tempChest.Draw(spriteBatch);

            spriteBatch.Draw(torchTexture, torchRect, new Rectangle(currentFrame * 16, 0, 16, 16), Color.White);
            spriteBatch.Draw(torchTexture, new Rectangle(160, 32, 32, 32), new Rectangle(currentFrame * 16, 0, 16, 16), Color.White);

            spriteBatch.Draw(textureHandler.cursorTexture, new Rectangle((int)cursorPosition.X, (int)cursorPosition.Y, 8, 8), Color.White);
            spriteBatch.End();

            //UI
            spriteBatch.Begin(SpriteSortMode.Deferred);

            //Dev
            devConsole.Draw(spriteBatch);
            spriteBatch.End();
            base.Draw(gameTime);
        }
예제 #2
0
        public void Generate()
        {
            Load();
            DungeonGenerator.AddRooms(rooms);
            Game.world.Draw();
            DungeonGenerator.AddBridges(rooms, bridges);
            AddEnemyes();
            if (Game.currentDungeonLevel >= 19)
            {
                Enemy enemy = new Enemy(EnemyesList.diablo);
                enemy.SetInRoom(Game.world.dungeon.rooms.Count - 1);
                enemy.Draw();
                enemyes.Add(enemy);
            }
            else
            {
                AddPortal(rooms.Count - 1, EPortalStatus.HUB);
            }
            int chestCount = DungeonGenerator.random.Next(3, 6) + (Game.player.perksSystem.CheckPerk(PerksList.givesMoreChestPerk) ? 2 : 0);

            for (int i = 0; i < chestCount; ++i)
            {
                Chest chest = new Chest();
                chest.SetInRoom(DungeonGenerator.random.Next(0, rooms.Count - 1));
                chest.Draw();
                units.Add(chest);
            }
            ++Game.maxDungeonLevel;
            Game.currentDungeonLevel = Game.maxDungeonLevel;
        }