namespace Content.Shared.EntityEffects.Effects; /// /// Adds or replaces the specified user interfaces without removing other interfaces. /// /// public sealed partial class AddUserInterfacesEntityEffectSystem : EntityEffectSystem { [Dependency] private SharedUserInterfaceSystem _ui = default!; protected override void Effect(Entity entity, ref EntityEffectEvent args) { var userInterface = EnsureComp(entity); foreach (var (key, data) in args.Effect.Interfaces) { _ui.SetUi((entity.Owner, userInterface), key, data); } } } /// public sealed partial class AddUserInterfaces : EntityEffectBase { /// /// Interfaces to add or replace, keyed by their UI enum key. /// [DataField(required: true)] public Dictionary Interfaces = new(); }