using Robust.Shared.GameStates; namespace Content.Shared.Sprite; [RegisterComponent, NetworkedComponent] public sealed partial class RandomSpriteComponent : Component { /// /// Whether or not all groups from are used, /// or if only one is picked at random. /// [DataField("getAllGroups")] public bool GetAllGroups; /// /// Available colors based on group, parsed layer enum, state, and color. /// Stored as a list so we can have groups of random sprites (e.g. tech_base + tech_flare for holoparasite) /// [ViewVariables(VVAccess.ReadWrite), DataField("available")] public List>> Available = new(); /// /// Selected colors /// [ViewVariables(VVAccess.ReadWrite), DataField("selected")] public Dictionary Selected = new(); // Frontier: mapped random colours /// /// Maps arbitrary strings to palettes. /// Keys can be used in Available to refer to a mapped colour in multiple layers. /// [DataField] public Dictionary MappedColors = new(); // End Frontier }