Fix sandbox button always being visible (#11876)
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using Content.Client.Gameplay;
|
using Content.Client.Administration.Managers;
|
||||||
|
using Content.Client.Gameplay;
|
||||||
using Content.Client.Markers;
|
using Content.Client.Markers;
|
||||||
using Content.Client.Sandbox;
|
using Content.Client.Sandbox;
|
||||||
using Content.Client.SubFloor;
|
using Content.Client.SubFloor;
|
||||||
@@ -7,6 +8,7 @@ using Content.Client.UserInterface.Systems.DecalPlacer;
|
|||||||
using Content.Client.UserInterface.Systems.Sandbox.Windows;
|
using Content.Client.UserInterface.Systems.Sandbox.Windows;
|
||||||
using Content.Shared.Input;
|
using Content.Shared.Input;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
|
using Robust.Client.Console;
|
||||||
using Robust.Client.Debugging;
|
using Robust.Client.Debugging;
|
||||||
using Robust.Client.Graphics;
|
using Robust.Client.Graphics;
|
||||||
using Robust.Client.Input;
|
using Robust.Client.Input;
|
||||||
@@ -50,6 +52,8 @@ public sealed class SandboxUIController : UIController, IOnStateChanged<Gameplay
|
|||||||
_sandboxButton.OnPressed += SandboxButtonPressed;
|
_sandboxButton.OnPressed += SandboxButtonPressed;
|
||||||
EnsureWindow();
|
EnsureWindow();
|
||||||
|
|
||||||
|
CheckSandboxVisibility();
|
||||||
|
|
||||||
_input.SetInputCommand(ContentKeyFunctions.OpenEntitySpawnWindow,
|
_input.SetInputCommand(ContentKeyFunctions.OpenEntitySpawnWindow,
|
||||||
InputCmdHandler.FromDelegate(_ => EntitySpawningController.ToggleWindow()));
|
InputCmdHandler.FromDelegate(_ => EntitySpawningController.ToggleWindow()));
|
||||||
_input.SetInputCommand(ContentKeyFunctions.OpenSandboxWindow,
|
_input.SetInputCommand(ContentKeyFunctions.OpenSandboxWindow,
|
||||||
@@ -94,9 +98,12 @@ public sealed class SandboxUIController : UIController, IOnStateChanged<Gameplay
|
|||||||
_window.MachineLinkingButton.OnPressed += _ => _sandbox.MachineLinking();
|
_window.MachineLinkingButton.OnPressed += _ => _sandbox.MachineLinking();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GameHudOnSandboxButtonToggled(bool pressed)
|
private void CheckSandboxVisibility()
|
||||||
{
|
{
|
||||||
ToggleWindow();
|
if (_sandboxButton == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_sandboxButton.Visible = _sandbox.SandboxAllowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnStateExited(GameplayState state)
|
public void OnStateExited(GameplayState state)
|
||||||
@@ -120,11 +127,15 @@ public sealed class SandboxUIController : UIController, IOnStateChanged<Gameplay
|
|||||||
public void OnSystemLoaded(SandboxSystem system)
|
public void OnSystemLoaded(SandboxSystem system)
|
||||||
{
|
{
|
||||||
system.SandboxDisabled += CloseAll;
|
system.SandboxDisabled += CloseAll;
|
||||||
|
system.SandboxEnabled += CheckSandboxVisibility;
|
||||||
|
system.SandboxDisabled += CheckSandboxVisibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnSystemUnloaded(SandboxSystem system)
|
public void OnSystemUnloaded(SandboxSystem system)
|
||||||
{
|
{
|
||||||
system.SandboxDisabled -= CloseAll;
|
system.SandboxDisabled -= CloseAll;
|
||||||
|
system.SandboxEnabled -= CheckSandboxVisibility;
|
||||||
|
system.SandboxDisabled -= CheckSandboxVisibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SandboxButtonPressed(ButtonEventArgs args)
|
private void SandboxButtonPressed(ButtonEventArgs args)
|
||||||
|
|||||||
Reference in New Issue
Block a user