Files
RobustToolbox/Robust.Client/UserInterface/CustomControls/DebugInputPanel.cs
2021-05-23 22:58:32 +02:00

44 lines
1.1 KiB
C#

using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Timing;
namespace Robust.Client.UserInterface.CustomControls
{
internal class DebugInputPanel : PanelContainer
{
[Dependency] private readonly IInputManager _inputManager = default!;
private readonly Label _label;
public DebugInputPanel()
{
IoCManager.InjectDependencies(this);
PanelOverride = new StyleBoxFlat
{
BackgroundColor = new Color(67, 105, 255, 138),
};
PanelOverride.SetContentMarginOverride(StyleBox.Margin.All, 5);
AddChild(_label = new Label());
}
protected override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
if (!VisibleInTree)
{
return;
}
var functionsText = string.Join("\n", _inputManager.DownKeyFunctions);
_label.Text = $"Context: {_inputManager.Contexts.ActiveContext.Name}\n{functionsText}";
}
}
}