/// <summary>
/// Linked fulton beacon.
/// </summary>
- [ViewVariables(VVAccess.ReadWrite), DataField("beacon")]
+ [ViewVariables(VVAccess.ReadWrite), DataField("beacon"), AutoNetworkedField]
public EntityUid? Beacon;
/// <summary>
SubscribeLocalEvent<FultonedComponent, EntGotInsertedIntoContainerMessage>(OnFultonContainerInserted);
SubscribeLocalEvent<FultonComponent, AfterInteractEvent>(OnFultonInteract);
+
+ SubscribeLocalEvent<FultonComponent, StackSplitEvent>(OnFultonSplit);
}
private void OnFultonContainerInserted(EntityUid uid, FultonedComponent component, EntGotInsertedIntoContainerMessage args)
});
}
+ private void OnFultonSplit(EntityUid uid, FultonComponent component, ref StackSplitEvent args)
+ {
+ var newFulton = EnsureComp<FultonComponent>(args.NewId);
+ newFulton.Beacon = component.Beacon;
+ Dirty(args.NewId, newFulton);
+ }
+
protected virtual void UpdateAppearance(EntityUid uid, FultonedComponent fultoned)
{
return;
--- /dev/null
+namespace Content.Shared.Stacks;
+
+/// <summary>
+/// Raised on the original stack entity when it is split to create another.
+/// </summary>
+/// <param name="NewId">The entity id of the new stack.</param>
+[ByRefEvent]
+public readonly record struct StackSplitEvent(EntityUid NewId);