using Content.Shared.Construction.Components; using Content.Shared.Examine; namespace Content.Shared.Construction.Steps; [DataDefinition] public sealed partial class PartAssemblyConstructionGraphStep : ConstructionGraphStep { /// /// A valid ID on 's dictionary of strings to part lists. /// [DataField] public string AssemblyId = string.Empty; /// /// A localization string used when examining and for the guidebook. /// [DataField] public LocId GuideString = "construction-guide-condition-part-assembly"; public bool Condition(EntityUid uid, IEntityManager entityManager) { return entityManager.System().IsAssemblyFinished(uid, AssemblyId); } public override void DoExamine(ExaminedEvent args) { args.PushMarkup(Loc.GetString(GuideString)); } public override ConstructionGuideEntry GenerateGuideEntry() { return new ConstructionGuideEntry { Localization = GuideString, }; } }