ItemToggleSizeComponent.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Robust.Shared.GameStates;
  2. using Robust.Shared.Prototypes;
  3. namespace Content.Shared.Item.ItemToggle.Components;
  4. /// <summary>
  5. /// Handles the changes to the item size when toggled.
  6. /// </summary>
  7. /// <remarks>
  8. /// You can change the size when activated or not. By default the sizes are copied from the item.
  9. /// </remarks>
  10. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  11. public sealed partial class ItemToggleSizeComponent : Component
  12. {
  13. /// <summary>
  14. /// Item's size when activated
  15. /// </summary>
  16. [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
  17. public ProtoId<ItemSizePrototype>? ActivatedSize = null;
  18. /// <summary>
  19. /// Item's shape when activated
  20. /// </summary>
  21. [ViewVariables(VVAccess.ReadWrite), DataField]
  22. public List<Box2i>? ActivatedShape = null;
  23. /// <summary>
  24. /// Item's size when deactivated. If none is mentioned, it uses the item's default size instead.
  25. /// </summary>
  26. [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
  27. public ProtoId<ItemSizePrototype>? DeactivatedSize = null;
  28. /// <summary>
  29. /// Item's shape when deactivated. If none is mentioned, it uses the item's default shape instead.
  30. /// </summary>
  31. [ViewVariables(VVAccess.ReadWrite), DataField]
  32. public List<Box2i>? DeactivatedShape = null;
  33. }