2022-08-16 22:19:54 +12:00
|
|
|
using Robust.Shared.Audio;
|
2021-10-07 13:01:27 +02:00
|
|
|
using Robust.Shared.GameStates;
|
2022-08-16 22:19:54 +12:00
|
|
|
using Robust.Shared.Utility;
|
2021-10-07 13:01:27 +02:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
namespace Content.Shared.Tools.Components;
|
|
|
|
|
|
|
|
|
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
|
|
|
|
|
public sealed partial class MultipleToolComponent : Component
|
2021-10-07 13:01:27 +02:00
|
|
|
{
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataDefinition]
|
|
|
|
|
public sealed partial class ToolEntry
|
2021-10-07 13:01:27 +02:00
|
|
|
{
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField(required: true)]
|
|
|
|
|
public PrototypeFlags<ToolQualityPrototype> Behavior = new();
|
2022-08-16 22:19:54 +12:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField]
|
|
|
|
|
public SoundSpecifier? UseSound;
|
2022-08-16 22:19:54 +12:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField]
|
|
|
|
|
public SoundSpecifier? ChangeSound;
|
2022-08-16 22:19:54 +12:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField]
|
|
|
|
|
public SpriteSpecifier? Sprite;
|
|
|
|
|
}
|
2022-08-16 22:19:54 +12:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField(required: true)]
|
|
|
|
|
public ToolEntry[] Entries { get; private set; } = Array.Empty<ToolEntry>();
|
2022-08-16 22:19:54 +12:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[ViewVariables]
|
|
|
|
|
[AutoNetworkedField]
|
|
|
|
|
public uint CurrentEntry = 0;
|
2022-12-24 23:28:21 -05:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[ViewVariables]
|
|
|
|
|
public string CurrentQualityName = string.Empty;
|
2022-12-24 23:28:21 -05:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
|
|
|
public bool UiUpdateNeeded;
|
2021-10-07 13:01:27 +02:00
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
[DataField]
|
|
|
|
|
public bool StatusShowBehavior = true;
|
2021-10-07 13:01:27 +02:00
|
|
|
}
|