Example #1
0
        public override void Load()
        {
            base.Load();

            Add(leftContainer = new Container
            {
                RelativeSizeAxes = Axes.Both,
                Size             = new Vector2(0.15f, 1)
            });

            leftContainer.Add(new Box
            {
                Colour           = Color4.DimGray,
                RelativeSizeAxes = Axes.Both
            });

            leftContainer.Add(leftScrollContainer = new ScrollContainer());

            leftScrollContainer.Add(leftFlowContainer = new FlowContainer
            {
                Direction        = FlowDirection.VerticalOnly,
                RelativeSizeAxes = Axes.X,
                Padding          = new Vector2(0, 5)
            });

            //this is where the actual tests are loaded.
            Add(testContainer = new Container
            {
                RelativeSizeAxes     = Axes.Both,
                Size                 = new Vector2(0.85f, 1),
                RelativePositionAxes = Axes.Both,
                Position             = new Vector2(0.15f, 0),
            });

            testContainer.Size = new Vector2(0.6f, 1);
            Add(drawVis        = new DrawVisualiser()
            {
                RelativePositionAxes = Axes.Both,
                Position             = new Vector2(0.75f, 0),
                RelativeSizeAxes     = Axes.Both,
                Size = new Vector2(0.25f, 1)
            });

            List <TestCase> tests = new List <TestCase>();

            Assembly asm = Assembly.GetEntryAssembly();

            foreach (Type type in asm.GetLoadableTypes().Where(t => t.IsSubclassOf(typeof(TestCase))))
            {
                tests.Add((TestCase)Activator.CreateInstance(type));
            }

            tests.Sort((a, b) => a.DisplayOrder.CompareTo(b.DisplayOrder));
            foreach (var testCase in tests)
            {
                addTest(testCase);
            }

            loadTest();
        }
Example #2
0
        private void Load(BaseGame game)
        {
            Add(new TestBrowser());
            // Create custom cursor
            Add(new FXCursorContainer());

            drawVisualiser = new DrawVisualiser();
            Add(drawVisualiser);
        }
Example #3
0
        private void addDebugTools()
        {
            Add(DrawVisualiser = new DrawVisualiser()
            {
                Depth = float.MaxValue / 2,
            });

            Add(LogOverlay = new LogOverlay());
        }
Example #4
0
        public bool OnPressed(FrameworkAction action)
        {
            switch (action)
            {
            case FrameworkAction.CycleFrameStatistics:
                switch (FrameStatistics.Value)
                {
                case FrameStatisticsMode.None:
                    FrameStatistics.Value = FrameStatisticsMode.Minimal;
                    break;

                case FrameStatisticsMode.Minimal:
                    FrameStatistics.Value = FrameStatisticsMode.Full;
                    break;

                case FrameStatisticsMode.Full:
                    FrameStatistics.Value = FrameStatisticsMode.None;
                    break;
                }

                return(true);

            case FrameworkAction.ToggleDrawVisualiser:

                if (drawVisualiser == null)
                {
                    LoadComponentAsync(drawVisualiser = new DrawVisualiser
                    {
                        Depth = float.MinValue / 2,
                    }, AddInternal);
                }

                drawVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleLogOverlay:
                if (logOverlay == null)
                {
                    LoadComponentAsync(logOverlay = new LogOverlay
                    {
                        Depth = float.MinValue / 2,
                    }, AddInternal);
                }

                logOverlay.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleFullscreen:
                Window?.CycleMode();
                return(true);
            }

            return(false);
        }
Example #5
0
        private void addDebugTools()
        {
            LoadComponentAsync(DrawVisualiser = new DrawVisualiser
            {
                Depth = float.MinValue / 2,
            }, AddInternal);

            LoadComponentAsync(logOverlay = new LogOverlay
            {
                Depth = float.MinValue / 2,
            }, AddInternal);
        }
Example #6
0
        private void addDebugTools()
        {
            (DrawVisualiser = new DrawVisualiser()
            {
                Depth = float.MinValue / 2,
            }).Preload(this, AddInternal);

            (LogOverlay = new LogOverlay()
            {
                Depth = float.MinValue / 2,
            }).Preload(this, AddInternal);
        }
Example #7
0
        private void addDebugTools()
        {
            (DrawVisualiser = new DrawVisualiser
            {
                Depth = float.MinValue / 2,
            }).LoadAsync(this, AddInternal);

            (logOverlay = new LogOverlay
            {
                Depth = float.MinValue / 2,
            }).LoadAsync(this, AddInternal);
        }
Example #8
0
        public override void Load()
        {
            base.Load();

            Add(leftContainer = new Container
            {
                RelativeSizeAxes = Axes.Both,
                Size             = new Vector2(0.15f, 1)
            });

            leftContainer.Add(new Box
            {
                Colour           = Color4.DimGray,
                RelativeSizeAxes = Axes.Both
            });

            leftContainer.Add(leftScrollContainer = new ScrollContainer());

            leftScrollContainer.Add(leftFlowContainer = new FlowContainer
            {
                Direction        = FlowDirection.VerticalOnly,
                RelativeSizeAxes = Axes.X,
                Padding          = new Vector2(0, 5)
            });

            //this is where the actual tests are loaded.
            Add(testContainer = new Container
            {
                RelativeSizeAxes     = Axes.Both,
                Size                 = new Vector2(0.85f, 1),
                RelativePositionAxes = Axes.Both,
                Position             = new Vector2(0.15f, 0),
            });

            testContainer.Size = new Vector2(0.6f, 1);
            Add(drawVis        = new DrawVisualiser()
            {
                RelativePositionAxes = Axes.Both,
                Position             = new Vector2(0.75f, 0),
                RelativeSizeAxes     = Axes.Both,
                Size = new Vector2(0.25f, 1)
            });

            tests.Sort((a, b) => a.DisplayOrder.CompareTo(b.DisplayOrder));
            foreach (var testCase in tests)
            {
                addTest(testCase);
            }

            loadTest();
        }
Example #9
0
        private void load()
        {
            DrawVisualiser vis;
            Drawable       target;

            Children = new[]
            {
                target = new TestSceneDynamicDepth
                {
                    Anchor = Anchor.BottomRight,
                    Origin = Anchor.BottomRight,
                    Size   = new Vector2(0.5f)
                },
                vis = new DrawVisualiser(),
            };

            vis.Show();
            vis.Target = target;
        }
        private void load()
        {
            DrawVisualiser vis;
            Drawable       target;

            // Avoid stack-overflow scenarios by isolating the hovered drawables through a new input manager
            Child = new PassThroughInputManager
            {
                Children = new[]
                {
                    target = new TestSceneDynamicDepth
                    {
                        Anchor = Anchor.BottomRight,
                        Origin = Anchor.BottomRight,
                        Size   = new Vector2(0.5f)
                    },
                    vis = new DrawVisualiser(),
                }
            };

            vis.Show();
            vis.Target = target;
        }
Example #11
0
        public bool OnPressed(FrameworkAction action)
        {
            switch (action)
            {
            case FrameworkAction.CycleFrameStatistics:
                switch (FrameStatistics.Value)
                {
                case FrameStatisticsMode.None:
                    FrameStatistics.Value = FrameStatisticsMode.Minimal;
                    break;

                case FrameStatisticsMode.Minimal:
                    FrameStatistics.Value = FrameStatisticsMode.Full;
                    break;

                case FrameStatisticsMode.Full:
                    FrameStatistics.Value = FrameStatisticsMode.None;
                    break;
                }

                return(true);

            case FrameworkAction.ToggleGlobalStatistics:

                if (globalStatistics == null)
                {
                    LoadComponentAsync(globalStatistics = new GlobalStatisticsDisplay
                    {
                        Depth    = float.MinValue / 2,
                        Position = new Vector2(100 + ToolWindow.WIDTH, 100)
                    }, AddInternal);
                }

                globalStatistics.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleDrawVisualiser:

                if (drawVisualiser == null)
                {
                    LoadComponentAsync(drawVisualiser = new DrawVisualiser
                    {
                        ToolPosition = new Vector2(100),
                        Depth        = float.MinValue / 2,
                    }, AddInternal);
                }

                drawVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleLogOverlay:
                logOverlayVisibility.Value = !logOverlayVisibility.Value;
                return(true);

            case FrameworkAction.ToggleFullscreen:
                Window?.CycleMode();
                return(true);
            }

            return(false);
        }
Example #12
0
        public bool OnPressed(KeyBindingPressEvent <FrameworkAction> e)
        {
            switch (e.Action)
            {
            case FrameworkAction.CycleFrameStatistics:

                switch (FrameStatistics.Value)
                {
                case FrameStatisticsMode.None:
                    FrameStatistics.Value = FrameStatisticsMode.Minimal;
                    break;

                case FrameStatisticsMode.Minimal:
                    FrameStatistics.Value = FrameStatisticsMode.Full;
                    break;

                case FrameStatisticsMode.Full:
                    FrameStatistics.Value = FrameStatisticsMode.None;
                    break;
                }

                return(true);

            case FrameworkAction.ToggleDrawVisualiser:

                if (drawVisualiser == null)
                {
                    LoadComponentAsync(drawVisualiser = new DrawVisualiser
                    {
                        ToolPosition = getCascadeLocation(0),
                        Depth        = float.MinValue / 2,
                    }, AddInternal);
                }

                drawVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleGlobalStatistics:

                if (globalStatistics == null)
                {
                    LoadComponentAsync(globalStatistics = new GlobalStatisticsDisplay
                    {
                        Depth    = float.MinValue / 2,
                        Position = getCascadeLocation(1),
                    }, AddInternal);
                }

                globalStatistics.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleAtlasVisualiser:

                if (textureVisualiser == null)
                {
                    LoadComponentAsync(textureVisualiser = new TextureVisualiser
                    {
                        Position = getCascadeLocation(2),
                        Depth    = float.MinValue / 2,
                    }, AddInternal);
                }

                textureVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleAudioMixerVisualiser:
                if (audioMixerVisualiser == null)
                {
                    LoadComponentAsync(audioMixerVisualiser = new AudioMixerVisualiser
                    {
                        Position = getCascadeLocation(3),
                        Depth    = float.MinValue / 2,
                    }, AddInternal);
                }

                audioMixerVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleLogOverlay:
                logOverlayVisibility.Value = !logOverlayVisibility.Value;
                return(true);

            case FrameworkAction.ToggleFullscreen:
                Window?.CycleMode();
                return(true);

            case FrameworkAction.CycleFrameSync:
                var nextFrameSync = frameSyncMode.Value + 1;

                if (nextFrameSync > FrameSync.Unlimited)
                {
                    nextFrameSync = FrameSync.VSync;
                }

                frameSyncMode.Value = nextFrameSync;
                break;

            case FrameworkAction.CycleExecutionMode:
                var nextExecutionMode = executionMode.Value + 1;

                if (nextExecutionMode > ExecutionMode.MultiThreaded)
                {
                    nextExecutionMode = ExecutionMode.SingleThread;
                }

                executionMode.Value = nextExecutionMode;
                break;
            }

            return(false);

            Vector2 getCascadeLocation(int index)
            => new Vector2(100 + index * (TitleBar.HEIGHT + 10));
        }
Example #13
0
        public bool OnPressed(FrameworkAction action)
        {
            switch (action)
            {
            case FrameworkAction.CycleFrameStatistics:
                switch (FrameStatistics.Value)
                {
                case FrameStatisticsMode.None:
                    FrameStatistics.Value = FrameStatisticsMode.Minimal;
                    break;

                case FrameStatisticsMode.Minimal:
                    FrameStatistics.Value = FrameStatisticsMode.Full;
                    break;

                case FrameStatisticsMode.Full:
                    FrameStatistics.Value = FrameStatisticsMode.None;
                    break;
                }

                return(true);

            case FrameworkAction.ToggleGlobalStatistics:

                if (globalStatistics == null)
                {
                    LoadComponentAsync(globalStatistics = new GlobalStatisticsDisplay
                    {
                        Depth    = float.MinValue / 2,
                        Position = new Vector2(100 + ToolWindow.WIDTH, 100)
                    }, AddInternal);
                }

                globalStatistics.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleDrawVisualiser:

                if (drawVisualiser == null)
                {
                    LoadComponentAsync(drawVisualiser = new DrawVisualiser
                    {
                        ToolPosition = new Vector2(100),
                        Depth        = float.MinValue / 2,
                    }, AddInternal);
                }

                drawVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleAtlasVisualiser:

                if (textureVisualiser == null)
                {
                    LoadComponentAsync(textureVisualiser = new TextureVisualiser
                    {
                        Position = new Vector2(100 + 2 * ToolWindow.WIDTH, 100),
                        Depth    = float.MinValue / 2,
                    }, AddInternal);
                }

                textureVisualiser.ToggleVisibility();
                return(true);

            case FrameworkAction.ToggleLogOverlay:
                logOverlayVisibility.Value = !logOverlayVisibility.Value;
                return(true);

            case FrameworkAction.ToggleFullscreen:
                Window?.CycleMode();
                return(true);

            case FrameworkAction.CycleFrameSync:
                var nextFrameSync = frameSyncMode.Value + 1;

                if (nextFrameSync > FrameSync.Unlimited)
                {
                    nextFrameSync = FrameSync.VSync;
                }

                frameSyncMode.Value = nextFrameSync;
                break;

            case FrameworkAction.CycleExecutionMode:
                var nextExecutionMode = executionMode.Value + 1;

                if (nextExecutionMode > ExecutionMode.MultiThreaded)
                {
                    nextExecutionMode = ExecutionMode.SingleThread;
                }

                executionMode.Value = nextExecutionMode;
                break;
            }

            return(false);
        }