added usergrid for tooltip

This commit is contained in:
Joshua Hegedus 2023-11-02 09:16:25 +01:00
parent bc9cdb4ce0
commit a70bfca501
No known key found for this signature in database
GPG Key ID: 9B61F76A5E82A99A
1 changed files with 32 additions and 1 deletions

View File

@ -3,16 +3,27 @@
using System;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Input.Events;
using osu.Framework.Localisation;
using osu.Game.Graphics.Containers;
using osu.Game.Localisation;
using osu.Game.Online.API.Requests.Responses;
using osuTK;
namespace osu.Game.Users.Drawables
{
public partial class ClickableAvatar : OsuClickableContainer
public partial class ClickableAvatar : OsuClickableContainer, IHasCustomTooltip<UserGridPanel>
{
public ITooltip<UserGridPanel> GetCustomTooltip() => new UserGridPanelTooltip();
public UserGridPanel TooltipContent => new UserGridPanel(user!)
{
Width = 300
};
public override LocalisableString TooltipText
{
get
@ -67,5 +78,25 @@ protected override bool OnClick(ClickEvent e)
return base.OnClick(e);
}
private partial class UserGridPanelTooltip : VisibilityContainer, ITooltip<UserGridPanel>
{
private UserGridPanel? displayedUser;
protected override void PopIn()
{
Child = displayedUser;
this.FadeIn(20, Easing.OutQuint);
}
protected override void PopOut() => this.FadeOut(80, Easing.OutQuint);
public void Move(Vector2 pos) => Position = pos;
public void SetContent(UserGridPanel userGridPanel)
{
displayedUser = userGridPanel;
}
}
}
}