osu/osu.Game.Tests/Visual/Online/TestSceneNewsOverlay.cs

67 lines
2.1 KiB
C#
Raw Normal View History

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
using osu.Framework.Graphics;
using osu.Game.Overlays;
using osu.Game.Overlays.News;
2019-08-10 10:26:54 +00:00
namespace osu.Game.Tests.Visual.Online
{
public class TestSceneNewsOverlay : OsuTestScene
{
private TestNewsOverlay news;
2019-08-10 10:26:54 +00:00
protected override void LoadComplete()
{
base.LoadComplete();
Add(news = new TestNewsOverlay());
2019-08-10 10:26:54 +00:00
AddStep(@"Show", news.Show);
AddStep(@"Hide", news.Hide);
2019-08-10 15:06:52 +00:00
AddStep(@"Show front page", () => news.ShowFrontPage());
AddStep(@"Custom article", () => news.Current.Value = "Test Article 101");
AddStep(@"Article covers", () => news.LoadAndShowChild(new NewsCoverTest()));
2019-08-10 10:26:54 +00:00
}
private class TestNewsOverlay : NewsOverlay
{
2019-12-14 10:40:59 +00:00
public new void LoadAndShowChild(NewsContent content) => base.LoadAndShowContent(content);
}
private class NewsCoverTest : NewsContent
{
public NewsCoverTest()
{
Spacing = new osuTK.Vector2(0, 10);
2019-12-13 17:59:40 +00:00
var article = new NewsArticleCover.ArticleInfo
{
Author = "Ephemeral",
2019-12-13 17:59:40 +00:00
CoverUrl = "https://assets.ppy.sh/artists/58/header.jpg",
Time = new DateTime(2019, 12, 4),
Title = "New Featured Artist: Kurokotei"
};
Children = new Drawable[]
{
new NewsArticleCover(article)
{
Height = 200
},
new NewsArticleCover(article)
{
Height = 120
},
new NewsArticleCover(article)
{
RelativeSizeAxes = Axes.None,
Size = new osuTK.Vector2(400, 200),
}
};
}
}
2019-08-10 10:26:54 +00:00
}
}