namespace Content.Shared.Instruments; public abstract class SharedInstrumentSystem : EntitySystem { public abstract bool ResolveInstrument(EntityUid uid, ref SharedInstrumentComponent? component); public virtual void SetupRenderer(EntityUid uid, bool fromStateChange, SharedInstrumentComponent? instrument = null) { } public virtual void EndRenderer(EntityUid uid, bool fromStateChange, SharedInstrumentComponent? instrument = null) { } public void SetInstrumentProgram(SharedInstrumentComponent component, byte program, byte bank) { component.InstrumentBank = bank; component.InstrumentProgram = program; Dirty(component); } }