mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 23:42:55 +08:00
Add lock overlay for rooms which are password protected
This commit is contained in:
parent
f35d55c32f
commit
3c49b46c5f
@ -123,6 +123,12 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
AddUntilStep("3 rooms visible", () => container.Rooms.Count(r => r.IsPresent) == 3);
|
AddUntilStep("3 rooms visible", () => container.Rooms.Count(r => r.IsPresent) == 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestPasswordProtectedRooms()
|
||||||
|
{
|
||||||
|
AddStep("add rooms", () => RoomManager.AddRooms(3, withPassword: true));
|
||||||
|
}
|
||||||
|
|
||||||
private bool checkRoomSelected(Room room) => SelectedRoom.Value == room;
|
private bool checkRoomSelected(Room room) => SelectedRoom.Value == room;
|
||||||
|
|
||||||
private void joinRequested(Room room) => room.Status.Value = new JoinedRoomStatus();
|
private void joinRequested(Room room) => room.Status.Value = new JoinedRoomStatus();
|
||||||
|
@ -12,6 +12,7 @@ using osu.Framework.Graphics.Containers;
|
|||||||
using osu.Framework.Graphics.Cursor;
|
using osu.Framework.Graphics.Cursor;
|
||||||
using osu.Framework.Graphics.Effects;
|
using osu.Framework.Graphics.Effects;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
|
using osu.Framework.Graphics.Sprites;
|
||||||
using osu.Framework.Graphics.UserInterface;
|
using osu.Framework.Graphics.UserInterface;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Beatmaps.Drawables;
|
using osu.Game.Beatmaps.Drawables;
|
||||||
@ -46,6 +47,8 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
|
|||||||
[Resolved]
|
[Resolved]
|
||||||
private BeatmapManager beatmaps { get; set; }
|
private BeatmapManager beatmaps { get; set; }
|
||||||
|
|
||||||
|
private Container content;
|
||||||
|
|
||||||
public readonly Room Room;
|
public readonly Room Room;
|
||||||
|
|
||||||
private SelectionState state;
|
private SelectionState state;
|
||||||
@ -124,7 +127,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
|
|||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Padding = new MarginPadding(SELECTION_BORDER_WIDTH),
|
Padding = new MarginPadding(SELECTION_BORDER_WIDTH),
|
||||||
Child = new Container
|
Child = content = new Container
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Masking = true,
|
Masking = true,
|
||||||
@ -204,6 +207,11 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (Room.HasPassword.Value)
|
||||||
|
{
|
||||||
|
content.Add(new PasswordProtectedIcon());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
||||||
@ -245,5 +253,38 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
|
|||||||
parentScreen?.OpenNewRoom(Room.CreateCopy());
|
parentScreen?.OpenNewRoom(Room.CreateCopy());
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private class PasswordProtectedIcon : CompositeDrawable
|
||||||
|
{
|
||||||
|
[BackgroundDependencyLoader]
|
||||||
|
private void load(OsuColour colours)
|
||||||
|
{
|
||||||
|
Anchor = Anchor.TopRight;
|
||||||
|
Origin = Anchor.TopRight;
|
||||||
|
|
||||||
|
Size = new Vector2(32);
|
||||||
|
|
||||||
|
InternalChildren = new Drawable[]
|
||||||
|
{
|
||||||
|
new Box
|
||||||
|
{
|
||||||
|
Anchor = Anchor.TopRight,
|
||||||
|
Origin = Anchor.TopCentre,
|
||||||
|
Colour = colours.Gray5,
|
||||||
|
Rotation = 45,
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Width = 2,
|
||||||
|
},
|
||||||
|
new SpriteIcon
|
||||||
|
{
|
||||||
|
Icon = FontAwesome.Solid.Lock,
|
||||||
|
Anchor = Anchor.TopRight,
|
||||||
|
Origin = Anchor.TopRight,
|
||||||
|
Margin = new MarginPadding(6),
|
||||||
|
Size = new Vector2(14),
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user