A game framework written with osu! in mind.
1// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
2// See the LICENCE file in the repository root for full licence text.
3
4using BenchmarkDotNet.Attributes;
5using NUnit.Framework;
6using osu.Framework.Screens;
7
8namespace osu.Framework.Benchmarks
9{
10 public class BenchmarkScreenExtensions : GameBenchmark
11 {
12 private Screen testScreen;
13
14 [Test]
15 [Benchmark]
16 public void IsCurrentScreen() => testScreen.IsCurrentScreen();
17
18 protected override Game CreateGame() => new TestGame(testScreen = new Screen());
19
20 private class TestGame : Game
21 {
22 private readonly Screen screen;
23
24 public TestGame(Screen screen)
25 {
26 this.screen = screen;
27 }
28
29 protected override void LoadComplete()
30 {
31 base.LoadComplete();
32
33 Add(new ScreenStack(screen));
34 }
35 }
36 }
37}