Hud refactor (#7202)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com> Co-authored-by: Jezithyr <jmaster9999@gmail.com> Co-authored-by: Jezithyr <Jezithyr@gmail.com> Co-authored-by: Visne <39844191+Visne@users.noreply.github.com> Co-authored-by: wrexbe <wrexbe@protonmail.com> Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using Content.Client.UserInterface.Systems.Hands;
|
||||
using Content.Client.UserInterface.Systems.Hands.Controls;
|
||||
using Content.Client.UserInterface.Systems.Inventory;
|
||||
using Content.Client.UserInterface.Systems.Inventory.Controls;
|
||||
using Robust.Client.UserInterface.Controllers;
|
||||
|
||||
namespace Content.Client.UserInterface.Systems.Hotbar;
|
||||
|
||||
public sealed class HotbarUIController : UIController
|
||||
{
|
||||
private InventoryUIController? _inventory;
|
||||
private HandsUIController? _hands;
|
||||
|
||||
public void Setup(HandsContainer handsContainer, ItemSlotButtonContainer inventoryBar, ItemStatusPanel handStatus)
|
||||
{
|
||||
_inventory = UIManager.GetUIController<InventoryUIController>();
|
||||
_hands = UIManager.GetUIController<HandsUIController>();
|
||||
_hands.RegisterHandContainer(handsContainer);
|
||||
_inventory.RegisterInventoryBarContainer(inventoryBar);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<widgets:HotbarGui
|
||||
xmlns="https://spacestation14.io"
|
||||
xmlns:inventory="clr-namespace:Content.Client.UserInterface.Systems.Inventory.Controls"
|
||||
xmlns:hands="clr-namespace:Content.Client.UserInterface.Systems.Hands.Controls"
|
||||
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Hotbar.Widgets"
|
||||
Name="HotbarInterface"
|
||||
VerticalExpand="False"
|
||||
VerticalAlignment="Bottom"
|
||||
Orientation="Vertical"
|
||||
HorizontalAlignment="Center">
|
||||
<inventory:ItemStatusPanel
|
||||
Name="StatusPanel"
|
||||
Visible="False"
|
||||
HorizontalAlignment="Center"
|
||||
/>
|
||||
<inventory:ItemSlotButtonContainer
|
||||
Name="InventoryHotbar"
|
||||
Visible="False"
|
||||
Columns="10"
|
||||
SlotGroup="Default"
|
||||
ExpandBackwards="True"
|
||||
VerticalExpand="True"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
/>
|
||||
<BoxContainer Orientation="Horizontal" Name="Hotbar">
|
||||
<inventory:ItemSlotButtonContainer
|
||||
Name="SecondHotbar"
|
||||
SlotGroup="SecondHotbar"
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalExpand="False"
|
||||
Columns="6"
|
||||
HorizontalExpand="True"/>
|
||||
<hands:HandsContainer
|
||||
Name="HandContainer"
|
||||
Access="Protected"
|
||||
HorizontalAlignment="Center"
|
||||
ColumnLimit="6" />
|
||||
<inventory:ItemSlotButtonContainer
|
||||
Name="MainHotbar"
|
||||
SlotGroup="MainHotbar"
|
||||
VerticalExpand="False"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalExpand="True"
|
||||
Columns="6"
|
||||
/>
|
||||
</BoxContainer>
|
||||
</widgets:HotbarGui>
|
||||
@@ -0,0 +1,31 @@
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.XAML;
|
||||
|
||||
namespace Content.Client.UserInterface.Systems.Hotbar.Widgets;
|
||||
|
||||
[GenerateTypedNameReferences]
|
||||
public sealed partial class HotbarGui : UIWidget
|
||||
{
|
||||
public HotbarGui()
|
||||
{
|
||||
RobustXamlLoader.Load(this);
|
||||
StatusPanel.Update(null);
|
||||
var hotbarController = UserInterfaceManager.GetUIController<HotbarUIController>();
|
||||
|
||||
hotbarController.Setup(HandContainer, InventoryHotbar, StatusPanel);
|
||||
LayoutContainer.SetGrowVertical(this, LayoutContainer.GrowDirection.Begin);
|
||||
}
|
||||
|
||||
public void UpdatePanelEntity(EntityUid? entity)
|
||||
{
|
||||
StatusPanel.Update(entity);
|
||||
if (entity == null)
|
||||
{
|
||||
StatusPanel.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
StatusPanel.Visible = true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user