Context menu for duplicating multi rooms

This commit is contained in:
voidedWarranties
2020-08-09 16:16:01 -07:00
parent d8ffc00f75
commit 3a97ee4712
5 changed files with 67 additions and 28 deletions

View File

@ -21,10 +21,12 @@ using osu.Game.Online.Multiplayer;
using osu.Game.Screens.Multi.Components;
using osuTK;
using osuTK.Graphics;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.UserInterface;
namespace osu.Game.Screens.Multi.Lounge.Components
{
public class DrawableRoom : OsuClickableContainer, IStateful<SelectionState>, IFilterable
public class DrawableRoom : OsuClickableContainer, IStateful<SelectionState>, IFilterable, IHasContextMenu
{
public const float SELECTION_BORDER_WIDTH = 4;
private const float corner_radius = 5;
@ -36,6 +38,8 @@ namespace osu.Game.Screens.Multi.Lounge.Components
public event Action<SelectionState> StateChanged;
public Action<Room> DuplicateRoom;
private readonly Box selectionBox;
private CachedModelDependencyContainer<Room> dependencies;
@ -232,5 +236,10 @@ namespace osu.Game.Screens.Multi.Lounge.Components
Current = name;
}
}
public MenuItem[] ContextMenuItems => new MenuItem[]
{
new OsuMenuItem("Duplicate", MenuItemType.Standard, () => DuplicateRoom?.Invoke(Room))
};
}
}