// Event handler for RLNET's Render event private static void OnRootConsoleRender(object sender, UpdateEventArgs e) { if (_renderRequired) { // Clear the consoles for a new level _mapConsole.Clear(); _statConsole.Clear(); _messageConsole.Clear(); _inventoryConsole.Clear(); // Draw everything to the map DungeonMap.Draw(_mapConsole, _statConsole); Player.Draw(_mapConsole, DungeonMap); Player.DrawStats(_statConsole, _statWidth, _statHeight); Player.DrawInventory(_inventoryConsole); MessageLog.Draw(_messageConsole, _messageWidth, _messageHeight); // Blit the sub consoles to the root console in the correct locations RLConsole.Blit(_mapConsole, 0, 0, _mapWidth, _mapHeight, _rootConsole, 0, _inventoryHeight); RLConsole.Blit(_messageConsole, 0, 0, _messageWidth, _messageHeight, _rootConsole, 0, _screenHeight - _messageHeight); RLConsole.Blit(_statConsole, 0, 0, _statWidth, _statHeight, _rootConsole, _mapWidth, 0); RLConsole.Blit(_inventoryConsole, 0, 0, _inventoryWidth, _inventoryHeight, _rootConsole, 0, 0); // Tell RLNET to draw the console that we set _rootConsole.Draw(); _renderRequired = false; } }