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);
        }