namespace Content.Client.Stylesheets;
public abstract partial class BaseStylesheet
{
///
/// The type used to describe a configuration for this stylesheet.
/// This will be constructed and passed into the constructor, and may be used for other things as well.
///
///
/// Must be a constant, changes to this after construction will not be reflected.
/// TODO: this type is currently unused. It can be used to, for example, use user-defined fonts or colors.
///
public virtual Type StylesheetConfigType => typeof(NoConfig);
///
/// ex. "Nanotrasen", "System", "Syndicate"
///
public abstract string StylesheetName { get; }
public record NoConfig();
private object _config;
///
/// This constructor will not access any virtual or abstract properties, so you can set them from your config.
///
protected BaseStylesheet(object config)
{
IoCManager.InjectDependencies(this);
_config = config;
Stylesheet = default!;
}
}