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
}