mirror of
https://github.com/ppy/osu.git
synced 2025-02-20 00:52:56 +08:00
Merge pull request #16943 from peppy/spotlights-on-top
This commit is contained in:
commit
c2af1526aa
@ -44,15 +44,20 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
[Test]
|
[Test]
|
||||||
public void TestBasicListChanges()
|
public void TestBasicListChanges()
|
||||||
{
|
{
|
||||||
AddStep("add rooms", () => RoomManager.AddRooms(3));
|
AddStep("add rooms", () => RoomManager.AddRooms(5, withSpotlightRooms: true));
|
||||||
|
|
||||||
AddAssert("has 3 rooms", () => container.Rooms.Count == 3);
|
AddAssert("has 5 rooms", () => container.Rooms.Count == 5);
|
||||||
AddStep("remove first room", () => RoomManager.RemoveRoom(RoomManager.Rooms.FirstOrDefault()));
|
|
||||||
AddAssert("has 2 rooms", () => container.Rooms.Count == 2);
|
AddAssert("all spotlights at top", () => container.Rooms
|
||||||
|
.SkipWhile(r => r.Room.Category.Value == RoomCategory.Spotlight)
|
||||||
|
.All(r => r.Room.Category.Value == RoomCategory.Normal));
|
||||||
|
|
||||||
|
AddStep("remove first room", () => RoomManager.RemoveRoom(RoomManager.Rooms.FirstOrDefault(r => r.RoomID.Value == 0)));
|
||||||
|
AddAssert("has 4 rooms", () => container.Rooms.Count == 4);
|
||||||
AddAssert("first room removed", () => container.Rooms.All(r => r.Room.RoomID.Value != 0));
|
AddAssert("first room removed", () => container.Rooms.All(r => r.Room.RoomID.Value != 0));
|
||||||
|
|
||||||
AddStep("select first room", () => container.Rooms.First().TriggerClick());
|
AddStep("select first room", () => container.Rooms.First().TriggerClick());
|
||||||
AddAssert("first room selected", () => checkRoomSelected(RoomManager.Rooms.First()));
|
AddAssert("first spotlight selected", () => checkRoomSelected(RoomManager.Rooms.First(r => r.Category.Value == RoomCategory.Spotlight)));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -124,7 +124,12 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
|
|||||||
private void updateSorting()
|
private void updateSorting()
|
||||||
{
|
{
|
||||||
foreach (var room in roomFlow)
|
foreach (var room in roomFlow)
|
||||||
roomFlow.SetLayoutPosition(room, -(room.Room.RoomID.Value ?? 0));
|
{
|
||||||
|
roomFlow.SetLayoutPosition(room, room.Room.Category.Value == RoomCategory.Spotlight
|
||||||
|
// Always show spotlight playlists at the top of the listing.
|
||||||
|
? float.MinValue
|
||||||
|
: -(room.Room.RoomID.Value ?? 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool OnClick(ClickEvent e)
|
protected override bool OnClick(ClickEvent e)
|
||||||
|
@ -25,7 +25,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
base.JoinRoom(room, password, onSuccess, onError);
|
base.JoinRoom(room, password, onSuccess, onError);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddRooms(int count, RulesetInfo ruleset = null, bool withPassword = false)
|
public void AddRooms(int count, RulesetInfo ruleset = null, bool withPassword = false, bool withSpotlightRooms = false)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
@ -35,7 +35,7 @@ namespace osu.Game.Tests.Visual.OnlinePlay
|
|||||||
Name = { Value = $@"Room {currentRoomId}" },
|
Name = { Value = $@"Room {currentRoomId}" },
|
||||||
Host = { Value = new APIUser { Username = @"Host" } },
|
Host = { Value = new APIUser { Username = @"Host" } },
|
||||||
EndDate = { Value = DateTimeOffset.Now + TimeSpan.FromSeconds(10) },
|
EndDate = { Value = DateTimeOffset.Now + TimeSpan.FromSeconds(10) },
|
||||||
Category = { Value = i % 2 == 0 ? RoomCategory.Spotlight : RoomCategory.Normal },
|
Category = { Value = withSpotlightRooms && i % 2 == 0 ? RoomCategory.Spotlight : RoomCategory.Normal },
|
||||||
};
|
};
|
||||||
|
|
||||||
if (withPassword)
|
if (withPassword)
|
||||||
|
Loading…
Reference in New Issue
Block a user