50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
#nullable enable
|
|
using Robust.Client.AutoGenerated;
|
|
using Robust.Client.UserInterface.CustomControls;
|
|
using Robust.Client.UserInterface.XAML;
|
|
using Robust.Shared.GameObjects;
|
|
using static Robust.Client.UserInterface.Controls.BaseButton;
|
|
|
|
namespace Content.Client.GameObjects.Components.Observer.GhostRoles
|
|
{
|
|
[GenerateTypedNameReferences]
|
|
public partial class MakeGhostRoleWindow : SS14Window
|
|
{
|
|
public delegate void MakeRole(EntityUid uid, string name, string description, bool makeSentient);
|
|
|
|
public MakeGhostRoleWindow()
|
|
{
|
|
RobustXamlLoader.Load(this);
|
|
|
|
MakeSentientLabel.CustomMinimumSize = (150, 0);
|
|
RoleEntityLabel.CustomMinimumSize = (150, 0);
|
|
RoleNameLabel.CustomMinimumSize = (150, 0);
|
|
RoleName.CustomMinimumSize = (300, 0);
|
|
RoleDescriptionLabel.CustomMinimumSize = (150, 0);
|
|
RoleDescription.CustomMinimumSize = (300, 0);
|
|
|
|
MakeButton.OnPressed += OnPressed;
|
|
}
|
|
|
|
private EntityUid? EntityUid { get; set; }
|
|
|
|
public event MakeRole? OnMake;
|
|
|
|
public void SetEntity(EntityUid uid)
|
|
{
|
|
EntityUid = uid;
|
|
RoleEntity.Text = $"{uid}";
|
|
}
|
|
|
|
private void OnPressed(ButtonEventArgs args)
|
|
{
|
|
if (EntityUid == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
OnMake?.Invoke(EntityUid.Value, RoleName.Text, RoleDescription.Text, MakeSentientCheckbox.Pressed);
|
|
}
|
|
}
|
|
}
|