/Scenes/Tests/PerformanceTests.cs
C# | 179 lines | 150 code | 13 blank | 16 comment | 12 complexity | deb26db32f997ed6ccc748a36188b410 MD5 | raw file
Possible License(s): Apache-2.0
- using Delta.ContentSystem;
- using Delta.Engine;
- using Delta.InputSystem;
- using Delta.Rendering.Basics.Materials;
- using Delta.Rendering.Enums;
- using Delta.Scenes.UserInterfaces;
- using Delta.Scenes.UserInterfaces.Controls;
- using Delta.Utilities.Datatypes;
- using NUnit.Framework;
-
- namespace Delta.Scenes.Tests
- {
- /// <summary>
- /// Performance tests
- /// </summary>
- internal class PerformanceTests
- {
- #region TestBackgroundSpeed (LongRunning)
- /// <summary>
- /// Test background speed, press 1, 2, 3, or 0 to change the background!
- /// </summary>
- [Test, Category("Visual")]
- public static void TestBackgroundSpeed()
- {
- Screen scene = new Screen();
- scene.Open();
-
- Application.Start(delegate
- {
- if (Input.Keyboard.GetState(InputButton.D1) == InputState.Pressed)
- {
- scene.Background = new Material2DColored("SimpleMainMenuBackground")
- {
- DrawLayer = RenderLayer.Background,
- };
- }
- else if (Input.Keyboard.GetState(InputButton.D2) == InputState.Pressed)
- {
- scene.Background = new Material2DColored("DeltaEngineLogo")
- {
- DrawLayer = RenderLayer.Background,
- };
- }
- else if (Input.Keyboard.GetState(InputButton.D3) == InputState.Pressed)
- {
- scene.Background = new Material2DColored(Content.EmptyName)
- {
- DrawLayer = RenderLayer.Background,
- };
- }
- else if (Input.Keyboard.GetState(InputButton.D0) == InputState.Pressed)
- {
- scene.Background = null;
- }
- });
- }
- #endregion
-
- #region ScreenPerformance (LongRunning)
- /// <summary>
- /// Screen performance
- /// </summary>
- [Test, Category("Visual")]
- public static void ScreenPerformance()
- {
- Screen controlsScreen = new Screen("<ControlsScreen>")
- {
- Background = new Material2DColored("SpaceBackground")
- {
- DrawLayer = RenderLayer.Background,
- },
- };
-
- const float xPosOffset = 0.075f;
- const float yPosOffset = 0.075f;
-
- for (int index = 0; index < 1; index++)
- {
- float xPos = 0.15f + index * xPosOffset;
- float yPos = 0.275f;
-
- #region Adding an Image control
- Image image = new Image
- {
- Name = "Image control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.075f),
- CustomDesign = new ControlDesign
- {
- Background = BaseTheme.GetUIMaterial("DeltaEnginelogo")
- },
- //Alignment = Alignment.TopLeft,
- };
- controlsScreen.Add(image);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a Label control
- Label label = new Label
- {
- Name = "Label control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "Label text",
- //Alignment = Alignment.Top,
- };
- controlsScreen.Add(label);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a Button control
- Button button = new Button
- {
- Name = "Button control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "Button text",
- //Alignment = Alignment.TopRight,
- };
- controlsScreen.Add(button);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a Slider control
- Slider slider = new Slider
- {
- Name = "Slider control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "Slider text",
- MinValue = 1,
- MaxValue = 3,
- Value = 1.5f,
- //Alignment = Alignment.Left,
- };
- controlsScreen.Add(slider);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a Checkbox control
- Checkbox checkbox = new Checkbox
- {
- Name = "Checkbox control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "Checkbox text",
- IsChecked = true,
- //Alignment = Alignment.Center,
- };
- controlsScreen.Add(checkbox);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a RadioButton control
- RadioButton radioButton = new RadioButton
- {
- Name = "RadioButton control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "RadioButton text",
- IsChecked = true,
- //Alignment = Alignment.Right,
- };
- controlsScreen.Add(radioButton);
- yPos += yPosOffset;
- #endregion
-
- #region Adding a TextBox control
- TextBox textBox = new TextBox
- {
- Name = "TextBox control " + index,
- LocalArea = Rectangle.FromCenter(xPos, yPos, 0.2f, 0.05f),
- Text = "TextBox text",
- //Alignment = Alignment.Bottom,
- };
- controlsScreen.Add(textBox);
- yPos += yPosOffset;
- #endregion
- } // for
-
- Application.Start(Scene.Open(controlsScreen));
- }
- #endregion
- }
- }