mirror of
https://github.com/osukey/osukey.git
synced 2025-06-10 05:48:05 +09:00
Fix multiplayer components updating when not alive
Should close https://github.com/ppy/osu/issues/15092. - [ ] Depends on https://github.com/ppy/osu-framework/pull/4826.
This commit is contained in:
parent
fb9c3fe72e
commit
0d86dab80a
@ -19,15 +19,19 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
|||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
|
|
||||||
Client.RoomUpdated += OnRoomUpdated;
|
Client.RoomUpdated += invokeOnRoomUpdated;
|
||||||
|
Client.UserLeft += invokeUserLeft;
|
||||||
Client.UserLeft += UserLeft;
|
Client.UserKicked += invokeUserKicked;
|
||||||
Client.UserKicked += UserKicked;
|
Client.UserJoined += invokeUserJoined;
|
||||||
Client.UserJoined += UserJoined;
|
|
||||||
|
|
||||||
OnRoomUpdated();
|
OnRoomUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void invokeOnRoomUpdated() => Scheduler.AddOnce(OnRoomUpdated);
|
||||||
|
private void invokeUserJoined(MultiplayerRoomUser user) => Scheduler.AddOnce(UserJoined, user);
|
||||||
|
private void invokeUserKicked(MultiplayerRoomUser user) => Scheduler.AddOnce(UserKicked, user);
|
||||||
|
private void invokeUserLeft(MultiplayerRoomUser user) => Scheduler.AddOnce(UserLeft, user);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Invoked when a user has joined the room.
|
/// Invoked when a user has joined the room.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -63,10 +67,10 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
|||||||
{
|
{
|
||||||
if (Client != null)
|
if (Client != null)
|
||||||
{
|
{
|
||||||
Client.UserLeft -= UserLeft;
|
Client.RoomUpdated -= invokeOnRoomUpdated;
|
||||||
Client.UserKicked -= UserKicked;
|
Client.UserLeft -= invokeUserLeft;
|
||||||
Client.UserJoined -= UserJoined;
|
Client.UserKicked -= invokeUserKicked;
|
||||||
Client.RoomUpdated -= OnRoomUpdated;
|
Client.UserJoined -= invokeUserJoined;
|
||||||
}
|
}
|
||||||
|
|
||||||
base.Dispose(isDisposing);
|
base.Dispose(isDisposing);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user