Removing & spawning entities in the same order as the server, EntitySpawner does both removing and spawning

This commit is contained in:
Regalis
2016-10-26 16:44:59 +03:00
parent df9f89e383
commit 6f9160e4a7
13 changed files with 91 additions and 150 deletions
@@ -68,11 +68,11 @@ namespace Barotrauma.Items.Components
DebugConsole.ThrowError("Tried to deconstruct item \""+targetItem.Name+"\" but couldn't find item prefab \""+deconstructProduct+"\"!");
continue;
}
Item.Spawner.QueueItem(itemPrefab, containers[1].Inventory);
Item.Spawner.AddToSpawnQueue(itemPrefab, containers[1].Inventory);
}
container.Inventory.RemoveItem(targetItem);
Item.Remover.QueueItem(targetItem);
Item.Spawner.AddToRemoveQueue(targetItem);
activateButton.Text = "Deconstruct";
progressBar.BarSize = 0.0f;
@@ -321,14 +321,12 @@ namespace Barotrauma.Items.Components
var requiredItem = containers[0].Inventory.Items.FirstOrDefault(it => it != null && it.Prefab == ip.Item1);
if (requiredItem == null) continue;
Item.Remover.QueueItem(requiredItem);
Item.Spawner.AddToRemoveQueue(requiredItem);
containers[0].Inventory.RemoveItem(requiredItem);
}
}
Item.Spawner.QueueItem(fabricatedItem.TargetItem, containers[1].Inventory);
Item.Spawner.AddToSpawnQueue(fabricatedItem.TargetItem, containers[1].Inventory);
CancelFabricating();
}