mirror of
https://github.com/ppy/osu.git
synced 2025-02-27 21:53:03 +08:00
tidying up
This commit is contained in:
parent
1c9e9cb8af
commit
44d821172a
@ -21,7 +21,6 @@ namespace osu.Game.Overlays.Social
|
|||||||
|
|
||||||
public enum SocialSortCriteria
|
public enum SocialSortCriteria
|
||||||
{
|
{
|
||||||
Relevance,
|
|
||||||
Rank,
|
Rank,
|
||||||
Name,
|
Name,
|
||||||
Location,
|
Location,
|
||||||
|
@ -19,7 +19,7 @@ namespace osu.Game.Overlays.Social
|
|||||||
protected override Color4 BackgroundColour => OsuColour.FromHex(@"38202e");
|
protected override Color4 BackgroundColour => OsuColour.FromHex(@"38202e");
|
||||||
protected override float TabStripWidth => 438;
|
protected override float TabStripWidth => 438;
|
||||||
|
|
||||||
protected override SocialTab DefaultTab => SocialTab.OnlinePlayers;
|
protected override SocialTab DefaultTab => SocialTab.AllPlayers;
|
||||||
protected override FontAwesome Icon => FontAwesome.fa_users;
|
protected override FontAwesome Icon => FontAwesome.fa_users;
|
||||||
|
|
||||||
protected override Drawable CreateHeaderText()
|
protected override Drawable CreateHeaderText()
|
||||||
@ -54,13 +54,12 @@ namespace osu.Game.Overlays.Social
|
|||||||
|
|
||||||
public enum SocialTab
|
public enum SocialTab
|
||||||
{
|
{
|
||||||
Search,
|
[Description("All Players")]
|
||||||
[Description("Players")]
|
AllPlayers = SocialSortCriteria.Rank,
|
||||||
OnlinePlayers = SocialSortCriteria.Rank,
|
|
||||||
[Description("Friends")]
|
[Description("Friends")]
|
||||||
OnlineFriends = SocialSortCriteria.Name,
|
Friends = SocialSortCriteria.Name,
|
||||||
//[Description("Online Team Members")]
|
//[Description("Team Members")]
|
||||||
//OnlineTeamMembers,
|
//TeamMembers,
|
||||||
//[Description("Chat Channels")]
|
//[Description("Chat Channels")]
|
||||||
//ChatChannels,
|
//ChatChannels,
|
||||||
}
|
}
|
||||||
|
@ -55,37 +55,35 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
Filter.Search.Current.ValueChanged += text =>
|
Filter.Search.Current.ValueChanged += text =>
|
||||||
{
|
{
|
||||||
if (text != string.Empty)
|
if (!string.IsNullOrEmpty(text))
|
||||||
{
|
{
|
||||||
Header.Tabs.Current.Value = SocialTab.Search;
|
// force searching in players until searching for friends is supported
|
||||||
|
Header.Tabs.Current.Value = SocialTab.AllPlayers;
|
||||||
|
|
||||||
if (Filter.Tabs.Current.Value == SocialSortCriteria.Rank)
|
if (Filter.Tabs.Current.Value != SocialSortCriteria.Rank)
|
||||||
Filter.Tabs.Current.Value = SocialSortCriteria.Relevance;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Header.Tabs.Current.Value = SocialTab.OnlinePlayers;
|
|
||||||
|
|
||||||
if (Filter.Tabs.Current.Value == SocialSortCriteria.Relevance)
|
|
||||||
Filter.Tabs.Current.Value = SocialSortCriteria.Rank;
|
Filter.Tabs.Current.Value = SocialSortCriteria.Rank;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Filter.DisplayStyleControl.DisplayStyle.ValueChanged += recreatePanels;
|
|
||||||
|
|
||||||
// TODO sort our list in some way (either locally or with API call)
|
|
||||||
//Filter.DisplayStyleControl.Dropdown.Current.ValueChanged += sortOrder => Scheduler.AddOnce(updateSearch);
|
|
||||||
|
|
||||||
Header.Tabs.Current.ValueChanged += tab =>
|
Header.Tabs.Current.ValueChanged += tab =>
|
||||||
{
|
{
|
||||||
if (tab != SocialTab.Search)
|
//currentQuery.Value = string.Empty;
|
||||||
{
|
Filter.Tabs.Current.Value = (SocialSortCriteria)Header.Tabs.Current.Value;
|
||||||
//currentQuery.Value = string.Empty;
|
Scheduler.AddOnce(updateSearch);
|
||||||
Filter.Tabs.Current.Value = (SocialSortCriteria)Header.Tabs.Current.Value;
|
|
||||||
Scheduler.AddOnce(updateSearch);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Filter.Tabs.Current.ValueChanged += sortCriteria =>
|
||||||
|
{
|
||||||
|
// force searching in players until searching for friends is supported
|
||||||
|
if (Header.Tabs.Current.Value != SocialTab.AllPlayers && sortCriteria != (SocialSortCriteria)Header.Tabs.Current.Value)
|
||||||
|
Header.Tabs.Current.Value = SocialTab.AllPlayers;
|
||||||
|
|
||||||
|
Scheduler.AddOnce(updateSearch);
|
||||||
|
};
|
||||||
|
|
||||||
|
Filter.DisplayStyleControl.DisplayStyle.ValueChanged += recreatePanels;
|
||||||
|
Filter.DisplayStyleControl.Dropdown.Current.ValueChanged += sortOrder => Scheduler.AddOnce(updateSearch);
|
||||||
|
|
||||||
//currentQuery.ValueChanged += v =>
|
//currentQuery.ValueChanged += v =>
|
||||||
//{
|
//{
|
||||||
// queryChangedDebounce?.Cancel();
|
// queryChangedDebounce?.Cancel();
|
||||||
@ -97,14 +95,6 @@ namespace osu.Game.Overlays
|
|||||||
//};
|
//};
|
||||||
|
|
||||||
//currentQuery.BindTo(Filter.Search.Current);
|
//currentQuery.BindTo(Filter.Search.Current);
|
||||||
|
|
||||||
Filter.Tabs.Current.ValueChanged += sortCriteria =>
|
|
||||||
{
|
|
||||||
if (Header.Tabs.Current.Value != SocialTab.Search && sortCriteria != (SocialSortCriteria)Header.Tabs.Current.Value)
|
|
||||||
Header.Tabs.Current.Value = SocialTab.Search;
|
|
||||||
|
|
||||||
Scheduler.AddOnce(updateSearch);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
@ -148,11 +138,12 @@ namespace osu.Game.Overlays
|
|||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
LoadComponentAsync(newPanels, p =>
|
LoadComponentAsync(newPanels, f =>
|
||||||
{
|
{
|
||||||
if(panels != null)
|
if(panels != null)
|
||||||
ScrollFlow.Remove(panels);
|
ScrollFlow.Remove(panels);
|
||||||
|
|
||||||
|
// delay new panels so they don't get added before the old ones are gone
|
||||||
Scheduler.AddDelayed(() => ScrollFlow.Add(panels = newPanels), 200);
|
Scheduler.AddDelayed(() => ScrollFlow.Add(panels = newPanels), 200);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -190,13 +181,13 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
switch (Header.Tabs.Current.Value)
|
switch (Header.Tabs.Current.Value)
|
||||||
{
|
{
|
||||||
case SocialTab.OnlineFriends:
|
case SocialTab.Friends:
|
||||||
var friendRequest = new GetFriendsRequest();
|
var friendRequest = new GetFriendsRequest(); // TODO filter arguments?
|
||||||
friendRequest.Success += updateUsers;
|
friendRequest.Success += updateUsers;
|
||||||
api.Queue(getUsersRequest = friendRequest);
|
api.Queue(getUsersRequest = friendRequest);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
var userRequest = new GetUsersRequest(); // TODO filter???
|
var userRequest = new GetUsersRequest(); // TODO filter arguments!
|
||||||
userRequest.Success += response => updateUsers(response.Select(r => r.User));
|
userRequest.Success += response => updateUsers(response.Select(r => r.User));
|
||||||
api.Queue(getUsersRequest = userRequest);
|
api.Queue(getUsersRequest = userRequest);
|
||||||
break;
|
break;
|
||||||
@ -223,7 +214,7 @@ namespace osu.Game.Overlays
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Users = null;
|
Users = null;
|
||||||
recreatePanels(Filter.DisplayStyleControl.DisplayStyle.Value);
|
clearPanels();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user