1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 09:17:51 +08:00

Show login overlay when joining room while not logged in

This commit is contained in:
jvyden 2024-03-19 16:15:22 -04:00
parent c71daba4f6
commit 4305c3db5b
No known key found for this signature in database
GPG Key ID: 18BCF2BE0262B278

View File

@ -19,6 +19,7 @@ using osu.Game.Online.API;
using osu.Game.Online.API.Requests.Responses;
using osu.Game.Online.Multiplayer;
using osu.Game.Online.Rooms;
using osu.Game.Overlays;
using osu.Game.Rulesets;
using osu.Game.Users;
using LogLevel = osu.Framework.Logging.LogLevel;
@ -42,6 +43,8 @@ namespace osu.Desktop
[Resolved]
private OsuGame game { get; set; } = null!;
private LoginOverlay? login { get; set; }
[Resolved]
private MultiplayerClient multiplayerClient { get; set; } = null!;
@ -65,6 +68,8 @@ namespace osu.Desktop
[BackgroundDependencyLoader]
private void load(OsuConfigManager config)
{
login = game.Dependencies.Get<LoginOverlay>();
client = new DiscordRpcClient(client_id)
{
SkipIdenticalPresence = false // handles better on discord IPC loss, see updateStatus call in onReady.
@ -203,6 +208,12 @@ namespace osu.Desktop
{
game.Window?.Raise();
if (!api.IsLoggedIn)
{
Schedule(() => login?.Show());
return;
}
Logger.Log($"Received room secret from Discord RPC Client: \"{args.Secret}\"", LoggingTarget.Network, LogLevel.Debug);
// Stable and lazer share the same Discord client ID, meaning they can accept join requests from each other.