1
0
mirror of https://github.com/ppy/osu.git synced 2026-06-04 19:09:59 +08:00
Files
osu-lazer/osu.Game/Online/Multiplayer/ChangeSlotRequest.cs
T
Bartłomiej Dach 4671d1fe74 Add client-side support for slots in multiplayer rooms (#37741)
- Part of https://github.com/ppy/osu-server-spectator/issues/405

<img width="1624" height="900" alt="Screenshot 2026-05-13 at 12 40 07"
src="https://github.com/user-attachments/assets/a7f36d54-4cc6-49c9-8e89-ee0d049bb637"
/>
<img width="1624" height="900" alt="Screenshot 2026-05-13 at 12 31 40"
src="https://github.com/user-attachments/assets/0c054dfd-addd-4d00-bbca-119b4c3ec3cb"
/>

Will not work until relevant server-side support is in.

---

I was in two minds whether to PR this all at once or to PR only
https://github.com/ppy/osu/commit/693e4ef4b095042f7a171672224e10f9c4f47c1c
to begin with to unblock server-side implementation. In the end I opted
for one PR because usage informs the model, so I find everything else
relevant as part of review of the model design. If there are concerns
about this making it into a release without server-side support and
therefore things looking broken I will split the commit out on request.

I put in some effort to add relevant logic in test multiplayer client to
simulate the server side but I may well have missed something.

---------

Co-authored-by: Dean Herbert <pe@ppy.sh>
2026-05-21 20:01:34 +09:00

21 lines
549 B
C#

// 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 MessagePack;
namespace osu.Game.Online.Multiplayer
{
/// <summary>
/// User requests to change their slot in the room.
/// </summary>
[MessagePackObject]
public class ChangeSlotRequest : MatchUserRequest
{
/// <summary>
/// The zero-based ID of the desired slot.
/// </summary>
[Key(0)]
public byte SlotID { get; set; }
}
}