1
0

MachineFrameComponent.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Content.Shared.Construction.Components;
  2. using Content.Shared.Stacks;
  3. using Content.Shared.Tag;
  4. using Robust.Shared.Containers;
  5. using Robust.Shared.Prototypes;
  6. namespace Content.Server.Construction.Components
  7. {
  8. [RegisterComponent]
  9. public sealed partial class MachineFrameComponent : Component
  10. {
  11. public const string PartContainerName = "machine_parts";
  12. public const string BoardContainerName = "machine_board";
  13. [ViewVariables]
  14. public bool HasBoard => BoardContainer?.ContainedEntities.Count != 0;
  15. [ViewVariables]
  16. public readonly Dictionary<ProtoId<StackPrototype>, int> MaterialProgress = new();
  17. [ViewVariables]
  18. public readonly Dictionary<string, int> ComponentProgress = new();
  19. [ViewVariables]
  20. public readonly Dictionary<ProtoId<TagPrototype>, int> TagProgress = new();
  21. [ViewVariables]
  22. public Dictionary<ProtoId<StackPrototype>, int> MaterialRequirements = new();
  23. [ViewVariables]
  24. public Dictionary<string, GenericPartInfo> ComponentRequirements = new();
  25. [ViewVariables]
  26. public Dictionary<ProtoId<TagPrototype>, GenericPartInfo> TagRequirements = new();
  27. [ViewVariables]
  28. public Container BoardContainer = default!;
  29. [ViewVariables]
  30. public Container PartContainer = default!;
  31. }
  32. }