Fix StackComponent not getting removed from containers when empty (#1645)

This commit is contained in:
ShadowCommander
2020-08-11 08:38:00 -07:00
committed by GitHub
parent 452a67032f
commit 0d29b15ae0
3 changed files with 6 additions and 12 deletions

View File

@@ -50,9 +50,6 @@ namespace Content.Server.GameObjects.Components.Items
var desiredTile = _tileDefinitionManager[_outputTile];
mapGrid.SetTile(eventArgs.ClickLocation, new Tile(desiredTile.TileId));
EntitySystem.Get<AudioSystem>().PlayAtCoords("/Audio/Items/genhit.ogg", eventArgs.ClickLocation);
if(_stack.Count < 1){
Owner.Delete();
}
}

View File

@@ -28,15 +28,7 @@ namespace Content.Server.GameObjects.Components.Stack
public override int Count
{
get => base.Count;
set
{
base.Count = value;
if (Count <= 0)
{
Owner.Delete();
}
}
set => base.Count = value;
}
[ViewVariables(VVAccess.ReadWrite)]

View File

@@ -1,4 +1,5 @@
using System;
using Robust.Shared.Containers;
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.Reflection;
using Robust.Shared.IoC;
@@ -26,6 +27,10 @@ namespace Content.Shared.GameObjects.Components
_count = value;
if (_count <= 0)
{
if (ContainerHelpers.TryGetContainerMan(Owner, out var containerManager))
{
containerManager.Remove(Owner);
}
Owner.Delete();
}