fixup! Convert BadgeDisplay to use bindable

This commit is contained in:
Dean Herbert 2019-05-17 12:40:15 +09:00
parent e606c73329
commit 37e989fc64
3 changed files with 17 additions and 19 deletions

View File

@ -1,11 +1,12 @@
// 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 Newtonsoft.Json;
namespace osu.Game.Online.API.Requests.Responses
{
public class APIUpdateStream
public class APIUpdateStream : IEquatable<APIUpdateStream>
{
[JsonProperty("id")]
public long Id { get; set; }
@ -21,5 +22,13 @@ public class APIUpdateStream
[JsonProperty("latest_build")]
public APIChangelogBuild LatestBuild { get; set; }
public bool Equals(APIUpdateStream other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return Id == other.Id;
}
}
}

View File

@ -64,22 +64,6 @@ public void Populate(List<APIUpdateStream> streams)
}
}
public void SelectNone()
{
Current.Value = null;
if (badgesContainer != null)
{
foreach (StreamBadge streamBadge in badgesContainer)
{
if (!IsHovered)
streamBadge.Activate();
else
streamBadge.Deactivate();
}
}
}
protected override bool OnHover(HoverEvent e)
{
foreach (StreamBadge streamBadge in badgesContainer.Children)

View File

@ -71,7 +71,12 @@ private void load(AudioManager audio, OsuColour colour)
header.ListingSelected += ShowListing;
// todo: better
badges.Current.ValueChanged += e => ShowBuild(e.NewValue.LatestBuild);
badges.Current.ValueChanged += e =>
{
if (e.NewValue?.LatestBuild != null)
ShowBuild(e.NewValue.LatestBuild);
};
listing.BuildSelected += ShowBuild;
content.BuildSelected += ShowBuild;
@ -149,7 +154,7 @@ public void ShowListing()
header.ShowListing();
content.Hide();
badges.SelectNone();
badges.Current.Value = null;
listing.Show();
scroll.ScrollTo(savedScrollPosition);
}