Exemple #1
0
        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();
        }