SpriteMovementComponent.cs 759 B

12345678910111213141516171819202122232425
  1. using Robust.Shared.GameStates;
  2. namespace Content.Shared.Movement.Components;
  3. /// <summary>
  4. /// Updates a sprite layer based on whether an entity is moving via input or not.
  5. /// </summary>
  6. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
  7. public sealed partial class SpriteMovementComponent : Component
  8. {
  9. /// <summary>
  10. /// Layer and sprite state to use when moving.
  11. /// </summary>
  12. [DataField]
  13. public Dictionary<string, PrototypeLayerData> MovementLayers = new();
  14. /// <summary>
  15. /// Layer and sprite state to use when not moving.
  16. /// </summary>
  17. [DataField]
  18. public Dictionary<string, PrototypeLayerData> NoMovementLayers = new();
  19. [DataField, AutoNetworkedField]
  20. public bool IsMoving;
  21. }