Fix mouse input being "broken".

I accidentally made a screen-covering control so mouse input got eaten.
This commit is contained in:
Pieter-Jan Briers
2019-07-17 17:08:58 +02:00
parent 391d4a6c67
commit 69f9da944d

View File

@@ -11,6 +11,9 @@ using Robust.Shared.Maths;
namespace Content.Client.UserInterface namespace Content.Client.UserInterface
{ {
/// <summary>
/// Responsible for laying out the default game HUD.
/// </summary>
public interface IGameHud public interface IGameHud
{ {
Control RootControl { get; } Control RootControl { get; }
@@ -20,12 +23,12 @@ namespace Content.Client.UserInterface
void Initialize(); void Initialize();
} }
/// <summary>
/// Responsible for laying out the default game HUD.
/// </summary>
internal sealed class GameHud : IGameHud internal sealed class GameHud : IGameHud
{ {
private HBoxContainer _topButtonsContainer;
private TopButton _buttonEscapeMenu; private TopButton _buttonEscapeMenu;
private TopButton _buttonInventoryMenu;
private TopButton _buttonCraftingMenu;
#pragma warning disable 649 #pragma warning disable 649
[Dependency] private readonly IResourceCache _resourceCache; [Dependency] private readonly IResourceCache _resourceCache;
@@ -34,21 +37,46 @@ namespace Content.Client.UserInterface
public void Initialize() public void Initialize()
{ {
RootControl = new Control(); RootControl = new Control {MouseFilter = Control.MouseFilterMode.Ignore};
RootControl.SetAnchorPreset(Control.LayoutPreset.Wide); RootControl.SetAnchorPreset(Control.LayoutPreset.Wide);
var escapeTexture = _resourceCache.GetTexture("/Textures/UserInterface/hamburger.svg.96dpi.png"); var escapeTexture = _resourceCache.GetTexture("/Textures/UserInterface/hamburger.svg.96dpi.png");
_topButtonsContainer = new HBoxContainer
{
SeparationOverride = 4
};
RootControl.AddChild(_topButtonsContainer);
_topButtonsContainer.SetAnchorAndMarginPreset(Control.LayoutPreset.TopLeft, margin: 10);
// TODO: Pull key names here from the actual key binding config.
// Escape
_buttonEscapeMenu = new TopButton(escapeTexture, "esc") _buttonEscapeMenu = new TopButton(escapeTexture, "esc")
{ {
ToolTip = _localizationManager.GetString("Open escape menu.") ToolTip = _localizationManager.GetString("Open escape menu.")
}; };
_buttonEscapeMenu.OnToggled += args => EscapeButtonToggled?.Invoke(args.Pressed); _topButtonsContainer.AddChild(_buttonEscapeMenu);
RootControl.AddChild(_buttonEscapeMenu); // Inventory
_buttonEscapeMenu.SetAnchorAndMarginPreset(Control.LayoutPreset.TopLeft, margin: 10); _buttonInventoryMenu = new TopButton(escapeTexture, "i")
{
ToolTip = _localizationManager.GetString("Open inventory menu.")
};
_topButtonsContainer.AddChild(_buttonInventoryMenu);
// Crafting
_buttonCraftingMenu = new TopButton(escapeTexture, "g")
{
ToolTip = _localizationManager.GetString("Open crafting menu.")
};
_topButtonsContainer.AddChild(_buttonCraftingMenu);
_buttonEscapeMenu.OnToggled += args => EscapeButtonToggled?.Invoke(args.Pressed);
} }
public Control RootControl { get; private set; } public Control RootControl { get; private set; }