From 7eba619f80c2e6919c2a556020e5f2d2857d3455 Mon Sep 17 00:00:00 2001 From: DrabWeb Date: Sat, 20 May 2017 19:37:11 -0300 Subject: [PATCH] Move Joined to Channel --- osu.Game/Online/Chat/Channel.cs | 4 ++-- osu.Game/Overlays/Chat/ChannelListItem.cs | 27 ++++++++++++----------- osu.Game/Overlays/Chat/ChannelSection.cs | 2 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/osu.Game/Online/Chat/Channel.cs b/osu.Game/Online/Chat/Channel.cs index 2925c3ccb4..bffd98ee2c 100644 --- a/osu.Game/Online/Chat/Channel.cs +++ b/osu.Game/Online/Chat/Channel.cs @@ -23,9 +23,9 @@ public class Channel [JsonProperty(@"channel_id")] public int Id; - public readonly SortedList Messages = new SortedList((m1, m2) => m1.Id.CompareTo(m2.Id)); + public bool Joined; - //internal bool Joined; + public readonly SortedList Messages = new SortedList((m1, m2) => m1.Id.CompareTo(m2.Id)); public bool ReadOnly => Name != "#lazer"; diff --git a/osu.Game/Overlays/Chat/ChannelListItem.cs b/osu.Game/Overlays/Chat/ChannelListItem.cs index 56a0e74c35..ba1c890747 100644 --- a/osu.Game/Overlays/Chat/ChannelListItem.cs +++ b/osu.Game/Overlays/Chat/ChannelListItem.cs @@ -21,25 +21,28 @@ public class ChannelListItem : ClickableContainer private const float transition_duration = 100; private readonly OsuSpriteText topic; + private readonly OsuSpriteText name; private readonly TextAwesome joinedCheckmark; private Color4? joinedColour; private Color4? topicColour; - private bool joined; - public bool Joined + private Channel channel; + public Channel Channel { - get { return joined; } + get { return channel; } set { - if (value == joined) return; - joined = value; + if (value == channel) return; + channel = value; + name.Text = Channel.ToString(); + topic.Text = Channel.Topic; updateColour(); } } - public ChannelListItem(Channel channel) + public ChannelListItem() { RelativeSizeAxes = Axes.X; AutoSizeAxes = Axes.Y; @@ -74,9 +77,8 @@ public ChannelListItem(Channel channel) AutoSizeAxes = Axes.Y, Children = new[] { - new OsuSpriteText + name = new OsuSpriteText { - Text = channel.ToString(), TextSize = text_size, Font = @"Exo2.0-Bold", }, @@ -91,7 +93,6 @@ public ChannelListItem(Channel channel) { topic = new OsuSpriteText { - Text = channel.Topic, TextSize = text_size, Font = @"Exo2.0-SemiBold", Alpha = 0.8f, @@ -136,10 +137,10 @@ private void load(OsuColour colours) private void updateColour() { - joinedCheckmark.FadeTo(joined ? 1f : 0f, transition_duration); - topic.FadeTo(joined ? 0.8f : 1f, transition_duration); - topic.FadeColour(joined ? Color4.White : topicColour ?? Color4.White, transition_duration); - FadeColour(joined ? joinedColour ?? Color4.White : Color4.White, transition_duration); + joinedCheckmark.FadeTo(Channel.Joined ? 1f : 0f, transition_duration); + topic.FadeTo(Channel.Joined ? 0.8f : 1f, transition_duration); + topic.FadeColour(Channel.Joined ? Color4.White : topicColour ?? Color4.White, transition_duration); + FadeColour(Channel.Joined ? joinedColour ?? Color4.White : Color4.White, transition_duration); } } } diff --git a/osu.Game/Overlays/Chat/ChannelSection.cs b/osu.Game/Overlays/Chat/ChannelSection.cs index cbb197e84c..af61f67c99 100644 --- a/osu.Game/Overlays/Chat/ChannelSection.cs +++ b/osu.Game/Overlays/Chat/ChannelSection.cs @@ -28,7 +28,7 @@ public IEnumerable Channels { set { - items.Children = value.Select(c => new ChannelListItem(c)); + items.Children = value.Select(c => new ChannelListItem { Channel = c }); } }