* Action stuff - Cleanup some event stuff - Avoid dirtying entity unnecessarily - Add ActionGrant as an easy way to apply / remove actions via compregistry. * Fix merge
28 lines
651 B
C#
28 lines
651 B
C#
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Shared.Actions.Events;
|
|
|
|
/// <summary>
|
|
/// Adds / removes the component upon action.
|
|
/// </summary>
|
|
[Virtual]
|
|
public partial class ActionComponentChangeEvent : InstantActionEvent
|
|
{
|
|
[DataField(required: true)]
|
|
public ComponentRegistry Components = new();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Similar to <see cref="ActionComponentChangeEvent"/> except raises an event to attempt to relay it.
|
|
/// </summary>
|
|
public sealed partial class RelayedActionComponentChangeEvent : ActionComponentChangeEvent
|
|
{
|
|
|
|
}
|
|
|
|
[ByRefEvent]
|
|
public record struct AttemptRelayActionComponentChangeEvent
|
|
{
|
|
public EntityUid? Target;
|
|
}
|