1
0

ChameleonDisguiseComponent.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Content.Shared.Polymorph.Systems;
  2. using Robust.Shared.GameStates;
  3. using Robust.Shared.Prototypes;
  4. namespace Content.Shared.Polymorph.Components;
  5. /// <summary>
  6. /// Component added to disguise entities.
  7. /// Used by client to copy over appearance from the disguise's source entity.
  8. /// </summary>
  9. [RegisterComponent, NetworkedComponent, Access(typeof(SharedChameleonProjectorSystem))]
  10. [AutoGenerateComponentState(true)]
  11. public sealed partial class ChameleonDisguiseComponent : Component
  12. {
  13. /// <summary>
  14. /// The user of this disguise.
  15. /// </summary>
  16. [DataField]
  17. public EntityUid User;
  18. /// <summary>
  19. /// The projector that created this disguise.
  20. /// </summary>
  21. [DataField]
  22. public EntityUid Projector;
  23. /// <summary>
  24. /// The disguise source entity for copying the sprite.
  25. /// </summary>
  26. [DataField, AutoNetworkedField]
  27. public EntityUid SourceEntity;
  28. /// <summary>
  29. /// The source entity's prototype.
  30. /// Used as a fallback if the source entity was deleted.
  31. /// </summary>
  32. [DataField, AutoNetworkedField]
  33. public EntProtoId? SourceProto;
  34. }