[feat] Stalin manager
# Conflicts: # Content.Client/Entry/EntryPoint.cs # Content.Server/Entry/EntryPoint.cs # Content.Server/GameTicking/Commands/JoinGameCommand.cs # Content.Server/GameTicking/GameTicker.Lobby.cs # Content.Server/GameTicking/GameTicker.RoundFlow.cs # Content.Server/GameTicking/GameTicker.Spawning.cs
This commit is contained in:
@@ -22,7 +22,7 @@ namespace Content.Client.Administration.Systems
|
||||
// Currently this is only the ViewVariables verb, but more admin-UI related verbs can be added here.
|
||||
|
||||
// View variables verbs
|
||||
if (_clientConGroupController.CanViewVar())
|
||||
if (_clientConGroupController.CanAdminMenu())
|
||||
{
|
||||
var verb = new VvVerb()
|
||||
{
|
||||
|
||||
@@ -278,7 +278,7 @@ namespace Content.Client.Administration.UI
|
||||
editButton.OnPressed += _ => OnEditRankPressed(kv);
|
||||
_menu.AdminRanksList.AddChild(editButton);
|
||||
|
||||
if (!_adminManager.HasFlag(rank.Flags))
|
||||
if (rank.Flags != AdminFlags.Host && !_adminManager.HasFlag(AdminFlags.Permissions) || rank.Flags == AdminFlags.Host && !_adminManager.HasFlag(AdminFlags.Host))
|
||||
{
|
||||
editButton.Disabled = true;
|
||||
editButton.ToolTip = Loc.GetString("permissions-eui-do-not-have-required-flags-to-edit-rank-tooltip");
|
||||
@@ -401,7 +401,15 @@ namespace Content.Client.Administration.UI
|
||||
{
|
||||
// Can only grant out perms you also have yourself.
|
||||
// Primarily intended to prevent people giving themselves +HOST with +PERMISSIONS but generalized.
|
||||
var disable = !ui._adminManager.HasFlag(flag);
|
||||
bool disable;
|
||||
if (flag != AdminFlags.Host)
|
||||
{
|
||||
disable = !ui._adminManager.HasFlag(AdminFlags.Permissions);
|
||||
}
|
||||
else
|
||||
{
|
||||
disable = !ui._adminManager.HasFlag(AdminFlags.Host);
|
||||
}
|
||||
var flagName = flag.ToString().ToUpper();
|
||||
|
||||
var group = new ButtonGroup();
|
||||
|
||||
@@ -24,6 +24,7 @@ using Content.Client.Voting;
|
||||
using Content.Client.White.JoinQueue;
|
||||
using Content.Client.White.Sponsors;
|
||||
using Content.Shared.Ame;
|
||||
using Content.Client.White.Stalin;
|
||||
using Content.Shared.Gravity;
|
||||
using Content.Shared.Localizations;
|
||||
using Robust.Client;
|
||||
@@ -76,6 +77,7 @@ namespace Content.Client.Entry
|
||||
//WD-EDIT
|
||||
[Dependency] private readonly SponsorsManager _sponsorsManager = default!;
|
||||
[Dependency] private readonly JoinQueueManager _queueManager = default!;
|
||||
[Dependency] private readonly StalinManager _stalinManager = default!;
|
||||
//WD-EDIT
|
||||
|
||||
public override void Init()
|
||||
@@ -140,6 +142,10 @@ namespace Content.Client.Entry
|
||||
_jobRequirements.Initialize();
|
||||
_playbackMan.Initialize();
|
||||
|
||||
//WD-EDIT
|
||||
_stalinManager.Initialize();
|
||||
//WD-EDIT
|
||||
|
||||
//AUTOSCALING default Setup!
|
||||
_configManager.SetCVar("interface.resolutionAutoScaleUpperCutoffX", 1080);
|
||||
_configManager.SetCVar("interface.resolutionAutoScaleUpperCutoffY", 720);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Content.Client.Changelog;
|
||||
using Content.Client.UserInterface.Systems.EscapeMenu;
|
||||
using Content.Client.UserInterface.Systems.Guidebook;
|
||||
using Content.Client.White.Stalin;
|
||||
using Content.Shared.CCVar;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
@@ -11,12 +12,14 @@ namespace Content.Client.Info
|
||||
{
|
||||
public sealed class LinkBanner : BoxContainer
|
||||
{
|
||||
[Dependency] private readonly StalinManager _stalinManager = default!;
|
||||
private readonly IConfigurationManager _cfg;
|
||||
|
||||
private ValueList<(CVarDef<string> cVar, Button button)> _infoLinks;
|
||||
|
||||
public LinkBanner()
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
var buttons = new BoxContainer
|
||||
{
|
||||
Orientation = LayoutOrientation.Horizontal
|
||||
@@ -54,6 +57,15 @@ namespace Content.Client.Info
|
||||
buttons.AddChild(button);
|
||||
_infoLinks.Add((cVar, button));
|
||||
}
|
||||
|
||||
var saltedYaycaButton = new Button() {Text = "Привязать дискорд"};
|
||||
|
||||
saltedYaycaButton.OnPressed += _ =>
|
||||
{
|
||||
_stalinManager.RequestUri();
|
||||
};
|
||||
|
||||
buttons.AddChild(saltedYaycaButton);
|
||||
}
|
||||
|
||||
protected override void EnteredTree()
|
||||
|
||||
@@ -19,6 +19,7 @@ using Content.Client.Guidebook;
|
||||
using Content.Client.Replay;
|
||||
using Content.Client.White.JoinQueue;
|
||||
using Content.Client.White.Sponsors;
|
||||
using Content.Client.White.Stalin;
|
||||
using Content.Shared.Administration.Managers;
|
||||
|
||||
namespace Content.Client.IoC
|
||||
@@ -51,6 +52,7 @@ namespace Content.Client.IoC
|
||||
//WD-EDIT
|
||||
IoCManager.Register<JoinQueueManager>();
|
||||
IoCManager.Register<SponsorsManager>();
|
||||
IoCManager.Register<StalinManager>();
|
||||
//WD-EDIT
|
||||
}
|
||||
}
|
||||
|
||||
26
Content.Client/White/Stalin/StalinManager.cs
Normal file
26
Content.Client/White/Stalin/StalinManager.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using Content.Shared.White.SaltedYayca;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Shared.Network;
|
||||
|
||||
namespace Content.Client.White.Stalin;
|
||||
|
||||
public sealed class StalinManager
|
||||
{
|
||||
[Dependency] private readonly INetManager _netManager = default!;
|
||||
[Dependency] private readonly IUriOpener _uriOpener = default!;
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_netManager.RegisterNetMessage<DiscordAuthResponse>(OnStalinResponse);
|
||||
}
|
||||
|
||||
public void RequestUri()
|
||||
{
|
||||
_netManager.ClientSendMessage(new DiscordAuthRequest());
|
||||
}
|
||||
|
||||
private void OnStalinResponse(DiscordAuthResponse message)
|
||||
{
|
||||
_uriOpener.OpenUri(message.Uri);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user