6
StarHorizon_Public/Content.Client/Mech/Ui/Equipment/MechSoundboardUiFragment.xaml.cs
2026-01-24 12:49:55 +03:00

29 lines
777 B
C#

using Content.Shared.Mech;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Mech.Ui.Equipment;
[GenerateTypedNameReferences]
public sealed partial class MechSoundboardUiFragment : BoxContainer
{
public event Action<int>? OnPlayAction;
public MechSoundboardUiFragment()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
}
public void UpdateContents(MechSoundboardUiState state)
{
foreach (var sound in state.Sounds)
{
Sounds.AddItem(Loc.GetString($"mech-soundboard-{sound}")).OnSelected += item => {
OnPlayAction?.Invoke(Sounds.IndexOf(item));
};
}
}
}