using Robust.Shared.GameObjects; namespace Robust.Shared.Containers { public class ContainerSystem : EntitySystem { /// public override void Initialize() { SubscribeLocalEvent(HandleParentChanged); } // Eject entities from their parent container if the parent change is done by the transform only. private static void HandleParentChanged(EntParentChangedMessage message) { var oldParentEntity = message.OldParent; if (oldParentEntity == null || !oldParentEntity.IsValid()) return; if (oldParentEntity.TryGetComponent(out IContainerManager? containerManager)) containerManager.ForceRemove(message.Entity); } } }