Files
tbd-station-14/Content.Server/AI/WorldState/States/Inventory/InventoryState.cs
metalgearsloth c6abeda53b Fix AI inventory deleted exc (#1810)
Was throwing during eating / drinking.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-20 13:47:20 +02:00

28 lines
825 B
C#

using System.Collections.Generic;
using Content.Server.GameObjects.Components.GUI;
using JetBrains.Annotations;
using Robust.Shared.Interfaces.GameObjects;
namespace Content.Server.AI.WorldState.States.Inventory
{
[UsedImplicitly]
public sealed class EnumerableInventoryState : StateData<IEnumerable<IEntity>>
{
public override string Name => "EnumerableInventory";
public override IEnumerable<IEntity> GetValue()
{
if (Owner.TryGetComponent(out HandsComponent handsComponent))
{
foreach (var item in handsComponent.GetAllHeldItems())
{
if (item.Owner.Deleted)
continue;
yield return item.Owner;
}
}
}
}
}