mirror of
https://github.com/osukey/osukey.git
synced 2025-08-06 08:03:52 +09:00
Merge pull request #11274 from bdach/create-match-button
Split create game buttons for timeshift and realtime multiplayer
This commit is contained in:
@ -21,7 +21,6 @@ using osu.Game.Screens.Multi.Components;
|
|||||||
using osu.Game.Screens.Multi.Lounge;
|
using osu.Game.Screens.Multi.Lounge;
|
||||||
using osu.Game.Screens.Multi.Lounge.Components;
|
using osu.Game.Screens.Multi.Lounge.Components;
|
||||||
using osu.Game.Screens.Multi.Match;
|
using osu.Game.Screens.Multi.Match;
|
||||||
using osu.Game.Screens.Multi.Match.Components;
|
|
||||||
using osu.Game.Users;
|
using osu.Game.Users;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
|
|
||||||
@ -129,12 +128,18 @@ namespace osu.Game.Screens.Multi
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
new Header(screenStack),
|
new Header(screenStack),
|
||||||
createButton = new CreateRoomButton
|
createButton = CreateNewMultiplayerGameButton().With(button =>
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopRight,
|
button.Anchor = Anchor.TopRight;
|
||||||
Origin = Anchor.TopRight,
|
button.Origin = Anchor.TopRight;
|
||||||
Action = () => OpenNewRoom()
|
button.Size = new Vector2(150, Header.HEIGHT - 20);
|
||||||
},
|
button.Margin = new MarginPadding
|
||||||
|
{
|
||||||
|
Top = 10,
|
||||||
|
Right = 10 + HORIZONTAL_OVERFLOW_PADDING,
|
||||||
|
};
|
||||||
|
button.Action = () => OpenNewRoom();
|
||||||
|
}),
|
||||||
RoomManager = CreateRoomManager()
|
RoomManager = CreateRoomManager()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -310,6 +315,8 @@ namespace osu.Game.Screens.Multi
|
|||||||
|
|
||||||
protected abstract LoungeSubScreen CreateLounge();
|
protected abstract LoungeSubScreen CreateLounge();
|
||||||
|
|
||||||
|
protected abstract OsuButton CreateNewMultiplayerGameButton();
|
||||||
|
|
||||||
private class MultiplayerWaveContainer : WaveContainer
|
private class MultiplayerWaveContainer : WaveContainer
|
||||||
{
|
{
|
||||||
protected override bool StartHidden => true;
|
protected override bool StartHidden => true;
|
||||||
@ -332,26 +339,5 @@ namespace osu.Game.Screens.Multi
|
|||||||
protected override double TransformDuration => 200;
|
protected override double TransformDuration => 200;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CreateRoomButton : PurpleTriangleButton
|
|
||||||
{
|
|
||||||
public CreateRoomButton()
|
|
||||||
{
|
|
||||||
Size = new Vector2(150, Header.HEIGHT - 20);
|
|
||||||
Margin = new MarginPadding
|
|
||||||
{
|
|
||||||
Top = 10,
|
|
||||||
Right = 10 + HORIZONTAL_OVERFLOW_PADDING,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
|
||||||
private void load()
|
|
||||||
{
|
|
||||||
Triangles.TriangleScale = 1.5f;
|
|
||||||
|
|
||||||
Text = "Create room";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using osu.Framework.Allocation;
|
||||||
|
using osu.Framework.Bindables;
|
||||||
|
using osu.Game.Online.RealtimeMultiplayer;
|
||||||
|
using osu.Game.Screens.Multi.Match.Components;
|
||||||
|
|
||||||
|
namespace osu.Game.Screens.Multi.RealtimeMultiplayer
|
||||||
|
{
|
||||||
|
public class CreateRealtimeMatchButton : PurpleTriangleButton
|
||||||
|
{
|
||||||
|
[BackgroundDependencyLoader]
|
||||||
|
private void load(StatefulMultiplayerClient multiplayerClient)
|
||||||
|
{
|
||||||
|
Triangles.TriangleScale = 1.5f;
|
||||||
|
|
||||||
|
Text = "Create match";
|
||||||
|
|
||||||
|
((IBindable<bool>)Enabled).BindTo(multiplayerClient.IsConnected);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@ using osu.Framework.Allocation;
|
|||||||
using osu.Framework.Logging;
|
using osu.Framework.Logging;
|
||||||
using osu.Framework.Screens;
|
using osu.Framework.Screens;
|
||||||
using osu.Game.Extensions;
|
using osu.Game.Extensions;
|
||||||
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Game.Online.Multiplayer;
|
using osu.Game.Online.Multiplayer;
|
||||||
using osu.Game.Online.RealtimeMultiplayer;
|
using osu.Game.Online.RealtimeMultiplayer;
|
||||||
using osu.Game.Screens.Multi.Components;
|
using osu.Game.Screens.Multi.Components;
|
||||||
@ -64,5 +65,7 @@ namespace osu.Game.Screens.Multi.RealtimeMultiplayer
|
|||||||
protected override RoomManager CreateRoomManager() => new RealtimeRoomManager();
|
protected override RoomManager CreateRoomManager() => new RealtimeRoomManager();
|
||||||
|
|
||||||
protected override LoungeSubScreen CreateLounge() => new RealtimeLoungeSubScreen();
|
protected override LoungeSubScreen CreateLounge() => new RealtimeLoungeSubScreen();
|
||||||
|
|
||||||
|
protected override OsuButton CreateNewMultiplayerGameButton() => new CreateRealtimeMatchButton();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using osu.Framework.Allocation;
|
||||||
|
using osu.Game.Screens.Multi.Match.Components;
|
||||||
|
|
||||||
|
namespace osu.Game.Screens.Multi.Timeshift
|
||||||
|
{
|
||||||
|
public class CreateTimeshiftRoomButton : PurpleTriangleButton
|
||||||
|
{
|
||||||
|
[BackgroundDependencyLoader]
|
||||||
|
private void load()
|
||||||
|
{
|
||||||
|
Triangles.TriangleScale = 1.5f;
|
||||||
|
|
||||||
|
Text = "Create room";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
using osu.Framework.Logging;
|
using osu.Framework.Logging;
|
||||||
using osu.Framework.Screens;
|
using osu.Framework.Screens;
|
||||||
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Game.Screens.Multi.Components;
|
using osu.Game.Screens.Multi.Components;
|
||||||
using osu.Game.Screens.Multi.Lounge;
|
using osu.Game.Screens.Multi.Lounge;
|
||||||
using osu.Game.Screens.Multi.Match;
|
using osu.Game.Screens.Multi.Match;
|
||||||
@ -47,5 +48,7 @@ namespace osu.Game.Screens.Multi.Timeshift
|
|||||||
protected override RoomManager CreateRoomManager() => new TimeshiftRoomManager();
|
protected override RoomManager CreateRoomManager() => new TimeshiftRoomManager();
|
||||||
|
|
||||||
protected override LoungeSubScreen CreateLounge() => new TimeshiftLoungeSubScreen();
|
protected override LoungeSubScreen CreateLounge() => new TimeshiftLoungeSubScreen();
|
||||||
|
|
||||||
|
protected override OsuButton CreateNewMultiplayerGameButton() => new CreateTimeshiftRoomButton();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user