using System.Collections.Generic; namespace gay.lilyy.SoldAvatarBootstrap { public abstract class LayerGroup { public virtual bool enabled { get { return true; } } private AvatarLayerGroupLogger _logger; protected AvatarLayerGroupLogger Logger => _logger ??= new AvatarLayerGroupLogger(SystemName); private static readonly List instances = new(); protected LayerGroup() => instances.Add(this); public static IEnumerable Instances => instances; public abstract string DisplayName { get; } public abstract string SystemName { get; } public abstract AvatarDefinition[] TargetDefinitions { get; } public abstract void Run(AvatarAssets assets); } }