* mechs * interaction relay * atmos handling * fuck around with interaction events SPAGHETTI CODE OH MY GOD * more sprites and whatever the hell * more mech shit * more shit for equipment * starting equipment (for nukie mechs and such) * equipment cycling * starting with some of the ui * a fat chunk of ui prototyping * done tinkering with ui * a bunch of ui stuff and what have yous * cleaning up grabber and state handling * make the ui actually functional + watch me port a million icons I swear i'll prune the sprites later blease * start on construction * construction yo mamma * remove some unused files * fix a silly * make the graph sane * make it actually constructible. * print the boards as well, bozo * rebalance part prices * eject action also i appease the russians by remembering to localize * Punch Shit * make mech integrity and repairs work * Make the UI more based STOMP STOMP STOMP STOMP * make equipment even more based * batteries and other such delights * make the ui look pimpin af * make the construction mega based * UI but so epic * equipment * some sweat tweaks * damage rebalancing * restructure tech * fix some shit * mechs inherit access * make icons actually use sprite specifiers * TRAILING COMMAA!!!!! * fix a mild indentation sin * undo this change because it isn't needed * actually fix this * secret webeditting shhhh * place this tech here * comments * foo
36 lines
1.0 KiB
C#
36 lines
1.0 KiB
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 MechGrabberUiFragment : BoxContainer
|
|
{
|
|
[Dependency] private readonly IEntityManager _entity = default!;
|
|
|
|
public event Action<EntityUid>? OnEjectAction;
|
|
|
|
public MechGrabberUiFragment()
|
|
{
|
|
RobustXamlLoader.Load(this);
|
|
IoCManager.InjectDependencies(this);
|
|
}
|
|
|
|
public void UpdateContents(MechGrabberUiState state)
|
|
{
|
|
SpaceLabel.Text = $"{state.Contents.Count}/{state.MaxContents}";
|
|
for (var i = 0; i < state.Contents.Count; i++)
|
|
{
|
|
var ent = state.Contents[i];
|
|
|
|
if (!_entity.TryGetComponent<MetaDataComponent>(ent, out var meta))
|
|
continue;
|
|
|
|
ItemList.AddItem(meta.EntityName);
|
|
ItemList[i].OnSelected += _ => OnEjectAction?.Invoke(ent);
|
|
}
|
|
}
|
|
}
|