mirror of
https://github.com/osukey/osukey.git
synced 2025-05-31 02:17:34 +09:00
Use CMC in the Multiplayer screen
This commit is contained in:
parent
37c1f5a824
commit
d9537017c8
@ -83,7 +83,7 @@ namespace osu.Game.Online.Multiplayer
|
|||||||
/// The position of this <see cref="Room"/> in the list. This is not read from or written to the API.
|
/// The position of this <see cref="Room"/> in the list. This is not read from or written to the API.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public int Position = -1;
|
public Bindable<int> Position { get; private set; } = new Bindable<int>(-1);
|
||||||
|
|
||||||
public void CopyFrom(Room other)
|
public void CopyFrom(Room other)
|
||||||
{
|
{
|
||||||
|
@ -149,6 +149,15 @@ namespace osu.Game.Screens.Multi
|
|||||||
isIdle.BindTo(idleTracker.IsIdle);
|
isIdle.BindTo(idleTracker.IsIdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CachedModelDependencyContainer<Room> dependencies;
|
||||||
|
|
||||||
|
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
|
||||||
|
{
|
||||||
|
dependencies = new CachedModelDependencyContainer<Room>(base.CreateChildDependencies(parent));
|
||||||
|
dependencies.Model.BindTo(roomManager.CurrentRoom);
|
||||||
|
return dependencies;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void LoadComplete()
|
protected override void LoadComplete()
|
||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
|
@ -23,7 +23,7 @@ namespace osu.Game.Screens.Multi
|
|||||||
private readonly BindableList<Room> rooms = new BindableList<Room>();
|
private readonly BindableList<Room> rooms = new BindableList<Room>();
|
||||||
public IBindableList<Room> Rooms => rooms;
|
public IBindableList<Room> Rooms => rooms;
|
||||||
|
|
||||||
private Room currentRoom;
|
public readonly Bindable<Room> CurrentRoom = new Bindable<Room>();
|
||||||
|
|
||||||
[Resolved]
|
[Resolved]
|
||||||
private APIAccess api { get; set; }
|
private APIAccess api { get; set; }
|
||||||
@ -77,7 +77,7 @@ namespace osu.Game.Screens.Multi
|
|||||||
currentJoinRoomRequest = new JoinRoomRequest(room, api.LocalUser.Value);
|
currentJoinRoomRequest = new JoinRoomRequest(room, api.LocalUser.Value);
|
||||||
currentJoinRoomRequest.Success += () =>
|
currentJoinRoomRequest.Success += () =>
|
||||||
{
|
{
|
||||||
currentRoom = room;
|
CurrentRoom.Value = room;
|
||||||
onSuccess?.Invoke(room);
|
onSuccess?.Invoke(room);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -92,11 +92,11 @@ namespace osu.Game.Screens.Multi
|
|||||||
|
|
||||||
public void PartRoom()
|
public void PartRoom()
|
||||||
{
|
{
|
||||||
if (currentRoom == null)
|
if (CurrentRoom.Value == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
api.Queue(new PartRoomRequest(currentRoom, api.LocalUser.Value));
|
api.Queue(new PartRoomRequest(CurrentRoom.Value, api.LocalUser.Value));
|
||||||
currentRoom = null;
|
CurrentRoom.Value = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateRooms(List<Room> newRooms)
|
public void UpdateRooms(List<Room> newRooms)
|
||||||
@ -111,7 +111,7 @@ namespace osu.Game.Screens.Multi
|
|||||||
for (int i = 0; i < newRooms.Count; i++)
|
for (int i = 0; i < newRooms.Count; i++)
|
||||||
{
|
{
|
||||||
var r = newRooms[i];
|
var r = newRooms[i];
|
||||||
r.Position = i;
|
r.Position.Value = i;
|
||||||
|
|
||||||
update(r, r);
|
update(r, r);
|
||||||
addRoom(r);
|
addRoom(r);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user