1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-06 03:42:55 +08:00

Add host avatar+username to match screen

This commit is contained in:
smoogipoo 2018-12-20 17:33:55 +09:00
parent 2e28f378de
commit 1701af61d6
4 changed files with 86 additions and 5 deletions

View File

@ -0,0 +1,29 @@
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Game.Online.Multiplayer;
using osu.Game.Screens.Multi.Match.Components;
using osu.Game.Users;
namespace osu.Game.Tests.Visual
{
public class TestCaseMatchHostInfo : OsuTestCase
{
public override IReadOnlyList<Type> RequiredTypes => new[]
{
typeof(HostInfo)
};
public TestCaseMatchHostInfo()
{
Child = new HostInfo(new Room { Host = { Value = new User { Username = "ImAHost" }}})
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre
};
}
}
}

View File

@ -73,16 +73,13 @@ namespace osu.Game.Screens.Multi.Match.Components
new Container
{
RelativeSizeAxes = Axes.Both,
Padding = new MarginPadding
{
Left = SearchableListOverlay.WIDTH_PADDING,
Top = 20
},
Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING },
Children = new Drawable[]
{
new FillFlowContainer
{
AutoSizeAxes = Axes.Both,
Padding = new MarginPadding { Top = 20 },
Direction = FillDirection.Vertical,
Children = new Drawable[]
{

View File

@ -0,0 +1,54 @@
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics.Containers;
using osu.Game.Online.Chat;
using osu.Game.Online.Multiplayer;
using osu.Game.Users;
using osuTK;
namespace osu.Game.Screens.Multi.Match.Components
{
public class HostInfo : CompositeDrawable
{
public HostInfo(Room room)
{
AutoSizeAxes = Axes.X;
Height = 50;
LinkFlowContainer linkContainer;
InternalChild = new FillFlowContainer
{
AutoSizeAxes = Axes.Both,
Direction = FillDirection.Horizontal,
Spacing = new Vector2(5, 0),
Children = new Drawable[]
{
new UpdateableAvatar
{
Size = new Vector2(50),
User = room.Host.Value
},
new FillFlowContainer
{
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
AutoSizeAxes = Axes.Both,
Direction = FillDirection.Vertical,
Children = new Drawable[]
{
linkContainer = new LinkFlowContainer { AutoSizeAxes = Axes.Both }
}
}
}
};
linkContainer.AddText("hosted by");
linkContainer.NewLine();
linkContainer.AddLink(room.Host.Value.Username,null, LinkAction.OpenUserProfile, room.Host.Value.Id.ToString(), "Open profile", s => s.Font = "Exo2.0-BoldItalic");
}
}
}

View File

@ -75,6 +75,7 @@ namespace osu.Game.Screens.Multi.Match.Components
endDate = new EndDateInfo { TextSize = 14 }
}
},
new HostInfo(room),
},
},
new FillFlowContainer