Delta-v/Content.Shared/Construction/ToolConstructionGraphStep.cs

30 lines
976 B
C#

#nullable enable
using Content.Shared.GameObjects.Components.Interactable;
using Robust.Shared.Localization;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Utility;
namespace Content.Shared.Construction
{
[DataDefinition]
public class ToolConstructionGraphStep : ConstructionGraphStep
{
[field: DataField("tool")] public ToolQuality Tool { get; } = ToolQuality.None;
[field: DataField("fuel")] public float Fuel { get; } = 10;
[field: DataField("examine")] public string ExamineOverride { get; } = string.Empty;
public override void DoExamine(FormattedMessage message, bool inDetailsRange)
{
if (!string.IsNullOrEmpty(ExamineOverride))
{
message.AddMarkup(Loc.GetString(ExamineOverride));
return;
}
message.AddMarkup(Loc.GetString($"Next, use a [color=cyan]{Tool.GetToolName()}[/color]."));
}
}
}