Fuck da rules (#11584)

This commit is contained in:
Pieter-Jan Briers
2022-10-03 23:43:42 +02:00
committed by GitHub
parent ad878ac5be
commit c5cfbd1d1a
2 changed files with 21 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ using Content.Shared.Info;
using Robust.Client.Console; using Robust.Client.Console;
using Robust.Client.State; using Robust.Client.State;
using Robust.Client.UserInterface; using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.Configuration; using Robust.Shared.Configuration;
using Robust.Shared.Network; using Robust.Shared.Network;
@@ -20,7 +21,9 @@ public sealed class RulesManager : SharedRulesManager
[Dependency] private readonly IEntitySystemManager _sysMan = default!; [Dependency] private readonly IEntitySystemManager _sysMan = default!;
private InfoSection rulesSection = new InfoSection("", "", false); private InfoSection rulesSection = new InfoSection("", "", false);
private bool _shouldShowRules; private bool _shouldShowRules = true;
private RulesPopup? _activePopup;
public void Initialize() public void Initialize()
{ {
@@ -28,6 +31,11 @@ public sealed class RulesManager : SharedRulesManager
_netManager.RegisterNetMessage<ShowRulesPopupMessage>(OnShowRulesPopupMessage); _netManager.RegisterNetMessage<ShowRulesPopupMessage>(OnShowRulesPopupMessage);
_netManager.RegisterNetMessage<RulesAcceptedMessage>(); _netManager.RegisterNetMessage<RulesAcceptedMessage>();
_stateManager.OnStateChanged += OnStateChanged; _stateManager.OnStateChanged += OnStateChanged;
_consoleHost.RegisterCommand("fuckrules", "", "", (_, _, _) =>
{
OnAcceptPressed();
});
} }
private void OnShouldShowRules(ShouldShowRulesPopupMessage message) private void OnShouldShowRules(ShouldShowRulesPopupMessage message)
@@ -55,13 +63,17 @@ public sealed class RulesManager : SharedRulesManager
private void ShowRules(float time) private void ShowRules(float time)
{ {
var rulesPopup = new RulesPopup if (_activePopup != null)
return;
_activePopup = new RulesPopup
{ {
Timer = time Timer = time
}; };
rulesPopup.OnQuitPressed += OnQuitPressed; _activePopup.OnQuitPressed += OnQuitPressed;
rulesPopup.OnAcceptPressed += OnAcceptPressed; _activePopup.OnAcceptPressed += OnAcceptPressed;
_userInterfaceManager.RootControl.AddChild(rulesPopup); _userInterfaceManager.StateRoot.AddChild(_activePopup);
LayoutContainer.SetAnchorAndMarginPreset(_activePopup, LayoutContainer.LayoutPreset.Wide);
} }
private void OnQuitPressed() private void OnQuitPressed()
@@ -71,8 +83,10 @@ public sealed class RulesManager : SharedRulesManager
private void OnAcceptPressed() private void OnAcceptPressed()
{ {
var message = _netManager.CreateNetMessage<RulesAcceptedMessage>(); _netManager.ClientSendMessage(new RulesAcceptedMessage());
_netManager.ClientSendMessage(message);
_activePopup?.Orphan();
_activePopup = null;
} }
public void UpdateRules() public void UpdateRules()

View File

@@ -37,14 +37,11 @@ public sealed partial class RulesPopup : Control
private void OnQuitButtonPressed(BaseButton.ButtonEventArgs obj) private void OnQuitButtonPressed(BaseButton.ButtonEventArgs obj)
{ {
OnQuitPressed?.Invoke(); OnQuitPressed?.Invoke();
Dispose();
} }
private void OnAcceptButtonPressed(BaseButton.ButtonEventArgs obj) private void OnAcceptButtonPressed(BaseButton.ButtonEventArgs obj)
{ {
Parent?.RemoveChild(this);
OnAcceptPressed?.Invoke(); OnAcceptPressed?.Invoke();
Dispose();
} }
protected override void FrameUpdate(FrameEventArgs args) protected override void FrameUpdate(FrameEventArgs args)