PartAssemblyConstructionGraphStep.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Shared.Construction.Components;
  2. using Content.Shared.Examine;
  3. namespace Content.Shared.Construction.Steps;
  4. [DataDefinition]
  5. public sealed partial class PartAssemblyConstructionGraphStep : ConstructionGraphStep
  6. {
  7. /// <summary>
  8. /// A valid ID on <see cref="PartAssemblyComponent"/>'s dictionary of strings to part lists.
  9. /// </summary>
  10. [DataField]
  11. public string AssemblyId = string.Empty;
  12. /// <summary>
  13. /// A localization string used when examining and for the guidebook.
  14. /// </summary>
  15. [DataField]
  16. public LocId GuideString = "construction-guide-condition-part-assembly";
  17. public bool Condition(EntityUid uid, IEntityManager entityManager)
  18. {
  19. return entityManager.System<PartAssemblySystem>().IsAssemblyFinished(uid, AssemblyId);
  20. }
  21. public override void DoExamine(ExaminedEvent args)
  22. {
  23. args.PushMarkup(Loc.GetString(GuideString));
  24. }
  25. public override ConstructionGuideEntry GenerateGuideEntry()
  26. {
  27. return new ConstructionGuideEntry
  28. {
  29. Localization = GuideString,
  30. };
  31. }
  32. }