public void drawScene() { GLDrawer.clear(); Board currentBoard = Crissaegrim.getCurrentBoard(); if (Crissaegrim.getCurrentBoard() != null) { GameInitializer.initializeNewFrameForWindow(); ClientBoard.drawBackground(currentBoard); GameInitializer.initializeNewFrameForScene(); ClientBoard.draw(currentBoard, TileLayer.BACKGROUND); ClientBoard.draw(currentBoard, TileLayer.MIDDLEGROUND); for (Doodad doodad : currentBoard.getDoodads().values()) { if (!Crissaegrim.getDebugMode()) { doodad.draw(); } else { doodad.drawDebugMode(); } } drawLocalDroppedItems(); Crissaegrim.getPlayer().draw(); if (Crissaegrim.getDebugMode()) { Crissaegrim.getPlayer().drawDebugMode(); } drawGhosts(); ClientBoard.draw(currentBoard, TileLayer.FOREGROUND); drawParticleSystems(); } GameInitializer.initializeNewFrameForWindow(); Crissaegrim.getPlayer().getInventory().draw(); while (!waitingChatMessages.isEmpty()) { Crissaegrim.getChatBox().addChatMessage(waitingChatMessages.remove(0)); } Crissaegrim.getChatBox().draw(); }