71 lines
1.6 KiB
C#
71 lines
1.6 KiB
C#
using Content.Client.GameObjects.Components.Construction;
|
|
using Robust.Client.Interfaces.Graphics;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Shared.Maths;
|
|
using Robust.Shared.Utility;
|
|
|
|
namespace Content.Client.Construction
|
|
{
|
|
public class ConstructionButton : Button
|
|
{
|
|
public ConstructorComponent Owner
|
|
{
|
|
get => Menu.Owner;
|
|
set => Menu.Owner = value;
|
|
}
|
|
ConstructionMenu Menu;
|
|
|
|
public ConstructionButton()
|
|
{
|
|
PerformLayout();
|
|
}
|
|
|
|
protected override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SetAnchorPreset(LayoutPreset.BottomRight);
|
|
MarginLeft = -110.0f;
|
|
MarginTop = -70.0f;
|
|
MarginRight = -50.0f;
|
|
MarginBottom = -50.0f;
|
|
Text = "Crafting";
|
|
OnPressed += IWasPressed;
|
|
}
|
|
|
|
private void PerformLayout()
|
|
{
|
|
Menu = new ConstructionMenu();
|
|
Menu.AddToScreen();
|
|
}
|
|
|
|
void IWasPressed(ButtonEventArgs args)
|
|
{
|
|
Menu.Open();
|
|
}
|
|
|
|
public void AddToScreen()
|
|
{
|
|
UserInterfaceManager.StateRoot.AddChild(this);
|
|
}
|
|
|
|
public void RemoveFromScreen()
|
|
{
|
|
if (Parent != null)
|
|
{
|
|
Parent.RemoveChild(this);
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing)
|
|
{
|
|
Menu.Dispose();
|
|
}
|
|
|
|
base.Dispose(disposing);
|
|
}
|
|
}
|
|
}
|