mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 11:40:52 +01:00
57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using System.Text;
|
|
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;
|
|
using Robust.Shared.Utility;
|
|
|
|
namespace Robust.Client.UserInterface.CustomControls.DebugMonitorControls
|
|
{
|
|
internal sealed class DebugInputPanel : PanelContainer
|
|
{
|
|
[Dependency] private readonly IInputManager _inputManager = default!;
|
|
|
|
private readonly Label _label;
|
|
|
|
private readonly StringBuilder _textBuilder = new();
|
|
private readonly char[] _textBuffer = new char[512];
|
|
|
|
|
|
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;
|
|
}
|
|
|
|
_textBuilder.Clear();
|
|
|
|
_textBuilder.Append($"Input context: {_inputManager.Contexts.ActiveContext.Name}");
|
|
foreach (var func in _inputManager.DownKeyFunctions)
|
|
{
|
|
_textBuilder.Append($"\n {func.FunctionName}");
|
|
}
|
|
|
|
_label.TextMemory = FormatHelpers.BuilderToMemory(_textBuilder, _textBuffer);
|
|
}
|
|
}
|
|
}
|