Fix pulling mispredicts (#22941)

* Fix pulling mispredicts

* Make behaviour consistent

* Good ol terminating entities
This commit is contained in:
Leon Friedrich
2023-12-25 02:33:32 -05:00
committed by GitHub
parent 9eaa4c3a5d
commit 721a445bbd
8 changed files with 42 additions and 77 deletions

View File

@@ -11,6 +11,7 @@ public abstract class SharedHandVirtualItemSystem : EntitySystem
{
[Dependency] private readonly INetManager _net = default!;
[Dependency] private readonly SharedHandsSystem _hands = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
public override void Initialize()
{
@@ -82,14 +83,16 @@ public abstract class SharedHandVirtualItemSystem : EntitySystem
/// </summary>
public void Delete(Entity<HandVirtualItemComponent> item, EntityUid user)
{
if (_net.IsClient)
return;
var userEv = new VirtualItemDeletedEvent(item.Comp.BlockingEntity, user);
RaiseLocalEvent(user, userEv);
var targEv = new VirtualItemDeletedEvent(item.Comp.BlockingEntity, user);
RaiseLocalEvent(item.Comp.BlockingEntity, targEv);
QueueDel(item);
if (TerminatingOrDeleted(item))
return;
_transform.DetachParentToNull(item, Transform(item));
if (_net.IsServer)
QueueDel(item);
}
}