Fixed IndexOutOfRange exceptions when cloning items with requiredItems that aren't present in the xml, + some more exception handling & error logging
This commit is contained in:
@@ -171,7 +171,19 @@ namespace Barotrauma
|
||||
foreach (MapEntity e in entitiesToClone)
|
||||
{
|
||||
Debug.Assert(e != null);
|
||||
clones.Add(e.Clone());
|
||||
try
|
||||
{
|
||||
clones.Add(e.Clone());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
DebugConsole.ThrowError("Cloning entity \"" + e.Name + "\" failed.", ex);
|
||||
GameAnalyticsManager.AddErrorEventOnce(
|
||||
"MapEntity.Clone:" + e.Name,
|
||||
GameAnalyticsSDK.Net.EGAErrorSeverity.Error,
|
||||
"Cloning entity \"" + e.Name + "\" failed (" + ex.Message + ").\n" + ex.StackTrace);
|
||||
return clones;
|
||||
}
|
||||
Debug.Assert(clones.Last() != null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user