Added OpenStorage trigger on ActivateItemInWorld

When ActivateItemInWorld is pressed when hovering over a InventoryButton and the InventorySlot contains a storage item, it will open the StorageGUI.
This commit is contained in:
ShadowCommander
2019-08-07 15:56:22 -07:00
parent 8c59d2e3b9
commit 7753ae7c3a
10 changed files with 90 additions and 42 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System;
using Content.Client.UserInterface;
using Content.Shared.GameObjects.Components.Inventory;
using Content.Shared.Input;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.Interfaces.GameObjects;
@@ -60,24 +61,44 @@ namespace Content.Client.GameObjects
{
}
protected void RemoveFromInventory(BaseButton.ButtonEventArgs args)
protected void HandleInventoryKeybind(BaseButton.ButtonEventArgs args)
{
args.Button.Pressed = false;
var control = (InventoryButton) args.Button.Parent;
Owner.SendUnequipMessage(control.Slot);
if (args.Event.Function == ContentKeyFunctions.ActivateItemInWorld)
{
OpenStorage(args);
}
else if (args.Event.CanFocus)
{
UseItemOnInventory(args);
}
}
protected void AddToInventory(BaseButton.ButtonEventArgs args)
{
if (!args.Event.CanFocus)
{
return;
}
args.Button.Pressed = false;
var control = (InventoryButton) args.Button.Parent;
Owner.SendEquipMessage(control.Slot);
}
protected void UseItemOnInventory(BaseButton.ButtonEventArgs args)
{
args.Button.Pressed = false;
var control = (InventoryButton)args.Button.Parent;
Owner.SendUseMessage(control.Slot);
}
protected void OpenStorage(BaseButton.ButtonEventArgs args)
{
if (!args.Event.CanFocus && args.Event.Function != ContentKeyFunctions.ActivateItemInWorld)
{
return;
}
args.Button.Pressed = false;
var control = (InventoryButton)args.Button.Parent;