From 5d525865bf879adf836ab47931d7bd48a2eface6 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Tue, 14 Nov 2017 20:00:57 +0200 Subject: [PATCH] More descriptive error message when a fabricable item can't be found --- .../Items/Components/Machines/Fabricator.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs index 7fedd2246..b5f556c9a 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs @@ -22,10 +22,10 @@ namespace Barotrauma.Items.Components { string name = element.GetAttributeString("name", ""); - TargetItem = ItemPrefab.list.Find(ip => ip.Name.ToLowerInvariant() == name.ToLowerInvariant()) as ItemPrefab; + TargetItem = MapEntityPrefab.list.Find(ip => ip.Name.ToLowerInvariant() == name.ToLowerInvariant()) as ItemPrefab; + if (TargetItem == null) { - DebugConsole.ThrowError("Error in fabricable item "+name+"! Item \"" + element.Name + "\" not found."); return; } @@ -95,10 +95,17 @@ namespace Barotrauma.Items.Components foreach (XElement subElement in element.Elements()) { - if (subElement.Name.ToString() != "fabricableitem") continue; + if (subElement.Name.ToString().ToLowerInvariant() != "fabricableitem") continue; FabricableItem fabricableItem = new FabricableItem(subElement); - if (fabricableItem.TargetItem != null) fabricableItems.Add(fabricableItem); + if (fabricableItem.TargetItem == null) + { + DebugConsole.ThrowError("Error in item " + item.Name + "! Fabricable item \"" + subElement.GetAttributeString("name", "") + "\" not found."); + } + else + { + fabricableItems.Add(fabricableItem); + } } InitProjSpecific();