Files
crystall-punk-14/Content.Shared/Tools/Components/WeldableComponent.cs

52 lines
1.2 KiB
C#
Raw Permalink Normal View History

2023-09-05 00:07:01 +10:00
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
namespace Content.Shared.Tools.Components;
2023-09-05 00:07:01 +10:00
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class WeldableComponent : Component
{
2023-09-05 00:07:01 +10:00
/// <summary>
/// Tool quality for welding.
/// </summary>
[DataField]
public ProtoId<ToolQualityPrototype> WeldingQuality = "Welding";
2023-09-05 00:07:01 +10:00
/// <summary>
/// How much time does it take to weld/unweld entity.
/// </summary>
[DataField, AutoNetworkedField]
public TimeSpan Time = TimeSpan.FromSeconds(1f);
/// <summary>
/// How much fuel does it take to weld/unweld entity.
/// </summary>
[DataField]
public float Fuel = 3f;
2023-09-05 00:07:01 +10:00
/// <summary>
/// Shown when welded entity is examined.
/// </summary>
[DataField]
public LocId? WeldedExamineMessage = "weldable-component-examine-is-welded";
2023-09-05 00:07:01 +10:00
/// <summary>
/// Is this entity currently welded shut?
/// </summary>
[DataField, AutoNetworkedField]
2023-09-05 00:07:01 +10:00
public bool IsWelded;
}
[Serializable, NetSerializable]
public enum WeldableVisuals : byte
{
IsWelded
}
[Serializable, NetSerializable]
public enum WeldableLayers : byte
{
BaseWelded
}