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();
}