using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared.Silicons.StationAi; /// /// Holds data for altering the appearance of station AIs. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class StationAiCustomizationComponent : Component { /// /// Dictionary of the prototype data used for customizing the appearance of the entity. /// [DataField, AutoNetworkedField] public Dictionary, ProtoId> ProtoIds = new(); } /// /// Message sent to server that contains a station AI customization that the client has selected /// [Serializable, NetSerializable] public sealed class StationAiCustomizationMessage : BoundUserInterfaceMessage { public readonly ProtoId GroupProtoId; public readonly ProtoId CustomizationProtoId; public StationAiCustomizationMessage(ProtoId groupProtoId, ProtoId customizationProtoId) { GroupProtoId = groupProtoId; CustomizationProtoId = customizationProtoId; } } /// /// Key for opening the station AI customization UI /// [Serializable, NetSerializable] public enum StationAiCustomizationUiKey : byte { Key, } /// /// The different catagories of station Ai customizations available /// [Serializable, NetSerializable] public enum StationAiCustomizationType : byte { CoreIconography, Hologram, }