parent
d7182c5e6a
commit
5f3393032c
|
|
@ -4,6 +4,7 @@ using Content.Shared.Body.Organ;
|
|||
using Content.Shared.Chemistry.Components;
|
||||
using Content.Shared.Chemistry.Components.SolutionManager;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
|
|
@ -20,6 +21,7 @@ namespace Content.Shared.Body.Systems
|
|||
{
|
||||
SubscribeLocalEvent<StomachComponent, MapInitEvent>(OnMapInit);
|
||||
SubscribeLocalEvent<StomachComponent, EntityUnpausedEvent>(OnUnpaused);
|
||||
SubscribeLocalEvent<StomachComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
|
||||
SubscribeLocalEvent<StomachComponent, ApplyMetabolicMultiplierEvent>(OnApplyMetabolicMultiplier);
|
||||
}
|
||||
|
||||
|
|
@ -33,6 +35,16 @@ namespace Content.Shared.Body.Systems
|
|||
ent.Comp.NextUpdate += args.PausedTime;
|
||||
}
|
||||
|
||||
private void OnEntRemoved(Entity<StomachComponent> ent, ref EntRemovedFromContainerMessage args)
|
||||
{
|
||||
// Make sure the removed entity was our contained solution
|
||||
if (ent.Comp.Solution is not { } solution || args.Entity != solution.Owner)
|
||||
return;
|
||||
|
||||
// Cleared our cached reference to the solution entity
|
||||
ent.Comp.Solution = null;
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
var query = EntityQueryEnumerator<StomachComponent, OrganComponent, SolutionContainerManagerComponent>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue