Replace AttachToGridOrMap with DropNextTo (#27950)

This commit is contained in:
ShadowCommander
2024-05-12 07:30:17 -07:00
committed by GitHub
parent 1596e04d0f
commit 8938e1d8b2
3 changed files with 11 additions and 28 deletions

View File

@@ -120,17 +120,12 @@ public abstract partial class SharedHandsSystem
return true;
var userXform = Transform(uid);
var isInContainer = ContainerSystem.IsEntityInContainer(uid);
var isInContainer = ContainerSystem.IsEntityOrParentInContainer(uid, xform: userXform);
if (targetDropLocation == null || isInContainer)
{
// If user is in a container, drop item into that container. Otherwise, attach to grid or map.\
// TODO recursively check upwards for containers
if (!isInContainer
|| !ContainerSystem.TryGetContainingContainer(userXform.ParentUid, uid, out var container, skipExistCheck: true)
|| !ContainerSystem.Insert((entity, itemXform), container))
TransformSystem.AttachToGridOrMap(entity, itemXform);
// If user is in a container, drop item into that container. Otherwise, attach to grid or map.
TransformSystem.DropNextTo((entity, itemXform), (uid, userXform));
return true;
}