mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 13:37:47 +03:00
# Description I didn't make 2 PRs because the queue kinda depends on Discord auth and I didn't wanna spend the time splitting them up. The queue puts everyone except admins/whitelisted/previously in-game players into a queue after the soft max players is reached, hard cap still denies new connections (and queues) from everyone. Priority queuing is simple to add and I'll do that when I make donator benefits or whatever similar system. --- <details><summary><h1>Media</h1></summary> <p> Too big to embed and I don't wanna compress it :) https://youtu.be/NBqN6Piv94w </p> </details> --- # Changelog 🆑 - add: Added a queue for players so you don't need to spam reconnect and hope you join when someone leaves.
32 lines
826 B
C#
32 lines
826 B
C#
using Content.Shared.DiscordAuth;
|
|
using Robust.Client.State;
|
|
using Robust.Shared.Network;
|
|
|
|
namespace Content.Client.DiscordAuth;
|
|
|
|
public sealed class DiscordAuthManager
|
|
{
|
|
[Dependency] private readonly IClientNetManager _net = default!;
|
|
[Dependency] private readonly IStateManager _state = default!;
|
|
|
|
|
|
public string AuthUrl { get; private set; } = string.Empty;
|
|
|
|
|
|
public void Initialize()
|
|
{
|
|
_net.RegisterNetMessage<DiscordAuthCheckMessage>();
|
|
_net.RegisterNetMessage<DiscordAuthRequiredMessage>(OnDiscordAuthRequired);
|
|
}
|
|
|
|
|
|
private void OnDiscordAuthRequired(DiscordAuthRequiredMessage message)
|
|
{
|
|
if (_state.CurrentState is not DiscordAuthState)
|
|
{
|
|
AuthUrl = message.AuthUrl;
|
|
_state.RequestStateChange<DiscordAuthState>();
|
|
}
|
|
}
|
|
}
|