TemperatureConstructionGraphStep.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. using Content.Shared.Examine;
  2. using Content.Shared.Tools;
  3. using Robust.Shared.Prototypes;
  4. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  5. namespace Content.Shared.Construction.Steps
  6. {
  7. [DataDefinition]
  8. public sealed partial class TemperatureConstructionGraphStep : ConstructionGraphStep
  9. {
  10. [DataField("minTemperature")]
  11. public float? MinTemperature;
  12. [DataField("maxTemperature")]
  13. public float? MaxTemperature;
  14. public override void DoExamine(ExaminedEvent examinedEvent)
  15. {
  16. float guideTemperature = MinTemperature.HasValue ? MinTemperature.Value : (MaxTemperature.HasValue ? MaxTemperature.Value : 0);
  17. examinedEvent.PushMarkup(Loc.GetString("construction-temperature-default", ("temperature", guideTemperature)));
  18. }
  19. public override ConstructionGuideEntry GenerateGuideEntry()
  20. {
  21. float guideTemperature = MinTemperature.HasValue ? MinTemperature.Value : (MaxTemperature.HasValue ? MaxTemperature.Value : 0);
  22. return new ConstructionGuideEntry()
  23. {
  24. Localization = "construction-presenter-temperature-step",
  25. Arguments = new (string, object)[] { ("temperature", guideTemperature) }
  26. };
  27. }
  28. }
  29. }