using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Robust.Client.GameObjects;
///
/// An abstract entity system inheritor for systems that deal with appearance data.
///
public abstract partial class VisualizerSystem : EntitySystem
where T : Component
{
[Dependency] protected AppearanceSystem AppearanceSystem = default!;
[Dependency] protected AnimationPlayerSystem AnimationSystem = default!;
[Dependency] protected SpriteSystem SpriteSystem = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent(OnAppearanceChange);
}
protected virtual void OnAppearanceChange(EntityUid uid, T component, ref AppearanceChangeEvent args) { }
}