SolutionContainerVisualsComponent.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Content.Shared.Hands.Components;
  2. using Robust.Shared.Utility;
  3. namespace Content.Shared.Chemistry.Components
  4. {
  5. [RegisterComponent]
  6. public sealed partial class SolutionContainerVisualsComponent : Component
  7. {
  8. [DataField]
  9. public int MaxFillLevels = 0;
  10. [DataField]
  11. public string? FillBaseName = null;
  12. [DataField]
  13. public SolutionContainerLayers Layer = SolutionContainerLayers.Fill;
  14. [DataField]
  15. public SolutionContainerLayers BaseLayer = SolutionContainerLayers.Base;
  16. [DataField]
  17. public SolutionContainerLayers OverlayLayer = SolutionContainerLayers.Overlay;
  18. [DataField]
  19. public bool ChangeColor = true;
  20. [DataField]
  21. public string? EmptySpriteName = null;
  22. [DataField]
  23. public Color EmptySpriteColor = Color.White;
  24. [DataField]
  25. public bool Metamorphic = false;
  26. [DataField]
  27. public SpriteSpecifier? MetamorphicDefaultSprite;
  28. [DataField]
  29. public LocId MetamorphicNameFull = "transformable-container-component-glass";
  30. /// <summary>
  31. /// Which solution of the SolutionContainerManagerComponent to represent.
  32. /// If not set, will work as default.
  33. /// </summary>
  34. [DataField]
  35. public string? SolutionName;
  36. [DataField]
  37. public string InitialDescription = string.Empty;
  38. /// <summary>
  39. /// Optional in-hand visuals to to show someone is holding a filled beaker/jug/etc.
  40. /// </summary>
  41. [DataField]
  42. public string? InHandsFillBaseName = null;
  43. /// <summary>
  44. /// A separate max fill levels for in-hands (to reduce number of sprites needed)
  45. /// </summary>
  46. [DataField]
  47. public int InHandsMaxFillLevels = 0;
  48. /// <summary>
  49. /// Optional equipped visuals to show someone is wearing a something with a filled container.
  50. /// </summary>
  51. [DataField]
  52. public string? EquippedFillBaseName = null;
  53. /// <summary>
  54. /// A separate max fill levels for equipped items (to reduce number of sprites needed)
  55. /// </summary>
  56. [DataField]
  57. public int EquippedMaxFillLevels = 0;
  58. }
  59. }