1
0

MagicMirrorComponent.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Content.Shared.DoAfter;
  2. using Robust.Shared.Audio;
  3. using Robust.Shared.GameStates;
  4. namespace Content.Shared.MagicMirror;
  5. /// <summary>
  6. /// Allows humanoids to change their appearance mid-round.
  7. /// </summary>
  8. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  9. public sealed partial class MagicMirrorComponent : Component
  10. {
  11. [DataField]
  12. public DoAfterId? DoAfter;
  13. /// <summary>
  14. /// Magic mirror target, used for validating UI messages.
  15. /// </summary>
  16. [DataField, AutoNetworkedField]
  17. public EntityUid? Target;
  18. /// <summary>
  19. /// Do after time to add a new slot, adding hair to a person
  20. /// </summary>
  21. [DataField, ViewVariables(VVAccess.ReadWrite)]
  22. public TimeSpan AddSlotTime = TimeSpan.FromSeconds(7);
  23. /// <summary>
  24. /// Do after time to remove a slot, removing hair from a person
  25. /// </summary>
  26. [DataField, ViewVariables(VVAccess.ReadWrite)]
  27. public TimeSpan RemoveSlotTime = TimeSpan.FromSeconds(7);
  28. /// <summary>
  29. /// Do after time to change a person's hairstyle
  30. /// </summary>
  31. [DataField, ViewVariables(VVAccess.ReadWrite)]
  32. public TimeSpan SelectSlotTime = TimeSpan.FromSeconds(7);
  33. /// <summary>
  34. /// Do after time to change a person's hair color
  35. /// </summary>
  36. [DataField, ViewVariables(VVAccess.ReadWrite)]
  37. public TimeSpan ChangeSlotTime = TimeSpan.FromSeconds(7);
  38. /// <summary>
  39. /// Sound emitted when slots are changed
  40. /// </summary>
  41. [DataField, ViewVariables(VVAccess.ReadWrite)]
  42. public SoundSpecifier? ChangeHairSound = new SoundPathSpecifier("/Audio/Items/scissors.ogg");
  43. }