private void RenderDebugInfo(GameEngine engine, GraphicsRenderer renderer, GameTime gameTime) { // TODO: Temporary debug info (float ox, float oy) = renderer.CameraOffset; string cameraInfo = $"Camera: ({ox}, {oy})"; string sessionInfo = ""; if (_gameSession != null) { CorePlayer[] players = _gameSession.Players; sessionInfo += "Session:\n"; foreach (CorePlayer player in players) { sessionInfo += " -" + player + "\n"; } } string entityInfo = ""; if (_gameEnvironment != null) { entityInfo = "Entities: " + _gameEnvironment.Map.Entities.Count + "\n"; foreach (CoreAbstractEntity entity in _gameEnvironment.Map.Entities) { if (entity is ClientPlayerUnit unit) { entityInfo += " -" + unit.EntityType + "/" + unit.UnitType + " (" + unit.Player + ")\n"; } } } string debugInfo = "Debug Info:\n" + cameraInfo + "\n" + sessionInfo + "\n" + entityInfo; GameFont.Render(renderer, debugInfo, 20, 20, scale: 0.75f); }