StationAiCoreComponent.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Robust.Shared.GameStates;
  2. using Robust.Shared.Prototypes;
  3. namespace Content.Shared.Silicons.StationAi;
  4. /// <summary>
  5. /// Indicates this entity can interact with station equipment and is a "Station AI".
  6. /// </summary>
  7. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  8. public sealed partial class StationAiCoreComponent : Component
  9. {
  10. /*
  11. * I couldn't think of any other reason you'd want to split these out.
  12. */
  13. /// <summary>
  14. /// Can it move its camera around and interact remotely with things.
  15. /// When false, the AI is being projected into a local area, such as a holopad
  16. /// </summary>
  17. [DataField, AutoNetworkedField]
  18. public bool Remote = true;
  19. /// <summary>
  20. /// The invisible eye entity being used to look around.
  21. /// </summary>
  22. [DataField, AutoNetworkedField]
  23. public EntityUid? RemoteEntity;
  24. /// <summary>
  25. /// Prototype that represents the 'eye' of the AI
  26. /// </summary>
  27. [DataField(readOnly: true)]
  28. public EntProtoId? RemoteEntityProto = "StationAiHolo";
  29. /// <summary>
  30. /// Prototype that represents the physical avatar of the AI
  31. /// </summary>
  32. [DataField(readOnly: true)]
  33. public EntProtoId? PhysicalEntityProto = "StationAiHoloLocal";
  34. public const string Container = "station_ai_mind_slot";
  35. }