* Vox stuff * Species loadouts and lobby refactor The control flow for lobby is all over the shop so I pulled it all up from the individual controls so now they handle the bare minimum required and LobbyUIController handles the rest. * a * Bulk changes * a * weh * Character import / export * finalise * woops this stuff too * Also datafield exporting * comments * Review
37 lines
944 B
C#
37 lines
944 B
C#
using Content.Shared.Traits;
|
|
using Robust.Client.AutoGenerated;
|
|
using Robust.Client.UserInterface;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Client.UserInterface.XAML;
|
|
|
|
namespace Content.Client.Lobby.UI.Roles;
|
|
|
|
[GenerateTypedNameReferences]
|
|
public sealed partial class TraitPreferenceSelector : Control
|
|
{
|
|
public bool Preference
|
|
{
|
|
get => Checkbox.Pressed;
|
|
set => Checkbox.Pressed = value;
|
|
}
|
|
|
|
public event Action<bool>? PreferenceChanged;
|
|
|
|
public TraitPreferenceSelector(TraitPrototype trait)
|
|
{
|
|
RobustXamlLoader.Load(this);
|
|
Checkbox.Text = Loc.GetString(trait.Name);
|
|
Checkbox.OnToggled += OnCheckBoxToggled;
|
|
|
|
if (trait.Description is { } desc)
|
|
{
|
|
Checkbox.ToolTip = Loc.GetString(desc);
|
|
}
|
|
}
|
|
|
|
private void OnCheckBoxToggled(BaseButton.ButtonToggledEventArgs args)
|
|
{
|
|
PreferenceChanged?.Invoke(Preference);
|
|
}
|
|
}
|