public override void DoDraw() { if (NetworkDebugger._instances.Count == 0) { return; } if (NetworkDebugger._instances.Count == 1) { this.LockInstance(NetworkDebugger._instances[0]); NetworkDebugger._networkDrawingIndex = 0; Level.current.clearScreen = true; Level.DrawCurrentLevel(); Network.netGraph.Draw(); this.UnlockInstance(); } else { int num = -1; foreach (NetworkInstance instance in NetworkDebugger._instances) { ++num; if (instance.active) { NetworkDebugger._networkDrawingIndex = num; this.LockInstance(instance); Layer.HUD.camera.width = 320f; Layer.HUD.camera.height = 180f; Viewport viewport = DuckGame.Graphics.viewport; switch (num) { case 0: DuckGame.Graphics.viewport = new Viewport(0, 0, viewport.Width / 2, viewport.Height / 2); break; case 1: DuckGame.Graphics.viewport = new Viewport(viewport.Width / 2, 0, viewport.Width / 2, viewport.Height / 2); break; case 2: DuckGame.Graphics.viewport = new Viewport(0, viewport.Height / 2, viewport.Width / 2, viewport.Height / 2); break; case 3: DuckGame.Graphics.viewport = new Viewport(viewport.Width / 2, viewport.Height / 2, viewport.Width / 2, viewport.Height / 2); break; } Level.current.clearScreen = num == 0; Level.DrawCurrentLevel(); if (MonoMain.pauseMenu != null) { Layer.HUD.Begin(true); MonoMain.pauseMenu.Draw(); foreach (Thing thing in MonoMain.closeMenuUpdate) { thing.Draw(); } HUD.Draw(); Layer.HUD.End(true); } Network.netGraph.Draw(); FPSCounter.Tick(NetworkDebugger.networkDrawingIndex); FPSCounter.Render(DuckGame.Graphics.device, index: NetworkDebugger.networkDrawingIndex); DuckGame.Graphics.viewport = viewport; this.UnlockInstance(); } } } this.clearScreen = false; base.DoDraw(); }