mirror of
https://github.com/ppy/osu.git
synced 2025-01-28 04:02:57 +08:00
Use RoomID for creation
This commit is contained in:
parent
439d741dee
commit
6123a11b67
@ -14,7 +14,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
{
|
||||
public class Room
|
||||
{
|
||||
public Bindable<int> RoomID { get; } = new Bindable<int>();
|
||||
public Bindable<int?> RoomID { get; } = new Bindable<int?>();
|
||||
|
||||
[JsonProperty("name")]
|
||||
public readonly Bindable<string> Name = new Bindable<string>("My awesome room!");
|
||||
@ -34,6 +34,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
|
||||
public void CopyFrom(Room other)
|
||||
{
|
||||
RoomID.Value = other.RoomID;
|
||||
Name.Value = other.Name;
|
||||
Host.Value = other.Host;
|
||||
Status.Value = other.Status;
|
||||
@ -43,8 +44,6 @@ namespace osu.Game.Online.Multiplayer
|
||||
MaxParticipants.Value = other.MaxParticipants;
|
||||
Participants.Value = other.Participants.Value.ToArray();
|
||||
}
|
||||
|
||||
public Bindable<bool> Created = new Bindable<bool>();
|
||||
}
|
||||
|
||||
public class PlaylistItem
|
||||
|
@ -100,7 +100,7 @@ namespace osu.Game.Screens.Multi.Match.Components
|
||||
|
||||
private class BeatmapSelectButton : TriangleButton
|
||||
{
|
||||
private readonly IBindable<bool> createdBind = new Bindable<bool>();
|
||||
private readonly IBindable<int?> roomIDBind = new Bindable<int?>();
|
||||
|
||||
[Resolved]
|
||||
private Room room { get; set; }
|
||||
@ -113,8 +113,8 @@ namespace osu.Game.Screens.Multi.Match.Components
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
{
|
||||
createdBind.BindTo(room.Created);
|
||||
createdBind.BindValueChanged(v => Enabled.Value = !v, true);
|
||||
roomIDBind.BindTo(room.RoomID);
|
||||
roomIDBind.BindValueChanged(v => Enabled.Value = !v.HasValue, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ namespace osu.Game.Screens.Multi.Match.Components
|
||||
{
|
||||
public class MatchTabControl : PageTabControl<MatchPage>
|
||||
{
|
||||
private readonly IBindable<bool> created = new Bindable<bool>();
|
||||
private readonly IBindable<int?> roomIdBind = new Bindable<int?>();
|
||||
|
||||
[Resolved]
|
||||
private Room room { get; set; }
|
||||
@ -28,10 +28,10 @@ namespace osu.Game.Screens.Multi.Match.Components
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
{
|
||||
created.BindTo(room.Created);
|
||||
created.BindValueChanged(v =>
|
||||
roomIdBind.BindTo(room.RoomID);
|
||||
roomIdBind.BindValueChanged(v =>
|
||||
{
|
||||
if (v)
|
||||
if (v.HasValue)
|
||||
{
|
||||
Items.ForEach(t => t.Enabled.Value = !(t is SettingsMatchPage));
|
||||
Current.Value = new RoomMatchPage();
|
||||
|
@ -25,7 +25,6 @@ namespace osu.Game.Screens.Multi
|
||||
|
||||
// Todo: Perform API request
|
||||
|
||||
room.Created.Value = true;
|
||||
rooms.Add(room);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user