using Content.Shared.Atmos.Components; using Content.Shared.Atmos.Piping; namespace Content.Shared.Atmos.EntitySystems; public sealed class AtmosPipeColorSystem : EntitySystem { [Dependency] private readonly SharedAppearanceSystem _appearance = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnShutdown); } private void OnStartup(Entity item, ref ComponentStartup args) { _appearance.SetData(item.Owner, PipeColorVisuals.Color, item.Comp.Color); } private void OnShutdown(Entity item, ref ComponentShutdown args) { _appearance.SetData(item.Owner, PipeColorVisuals.Color, Color.White); } public void SetColor(Entity item, Color color) { item.Comp.Color = color; _appearance.SetData(item.Owner, PipeColorVisuals.Color, color); Dirty(item); } }