CatStation/Content.Shared/Tools/Components/MultipleToolComponent.cs
deltanedas cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00

42 lines
1.1 KiB
C#

using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared.Tools.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
public sealed partial class MultipleToolComponent : Component
{
[DataDefinition]
public sealed partial class ToolEntry
{
[DataField(required: true)]
public HashSet<ProtoId<ToolQualityPrototype>> Behavior = new();
[DataField]
public SoundSpecifier? UseSound;
[DataField]
public SoundSpecifier? ChangeSound;
[DataField]
public SpriteSpecifier? Sprite;
}
[DataField(required: true)]
public ToolEntry[] Entries { get; private set; } = Array.Empty<ToolEntry>();
[ViewVariables]
[AutoNetworkedField]
public uint CurrentEntry = 0;
[ViewVariables]
public string CurrentQualityName = string.Empty;
[ViewVariables(VVAccess.ReadWrite)]
public bool UiUpdateNeeded;
[DataField]
public bool StatusShowBehavior = true;
}