More descriptive coroutine exception error messages, more null checks in Level.Unload

This commit is contained in:
Regalis
2016-05-30 18:33:46 +03:00
parent b512a7ec18
commit 1828198abf
2 changed files with 30 additions and 14 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ namespace Barotrauma
catch (Exception e) catch (Exception e)
{ {
DebugConsole.ThrowError("Coroutine " + Coroutines[i] + " threw an exception: " + e.Message); DebugConsole.ThrowError("Coroutine " + Coroutines[i].Name + " threw an exception: " + e.Message);
#if DEBUG #if DEBUG
throw e; throw e;
+29 -13
View File
@@ -870,23 +870,39 @@ namespace Barotrauma
private void Unload() private void Unload()
{ {
if (renderer!=null) renderer.Dispose(); if (renderer!=null)
renderer = null;
ruins.Clear();
for (int side = 0; side < 2; side++)
{ {
for (int i = 0; i < 2; i++) renderer.Dispose();
{ renderer = null;
wrappingWalls[side, i].Dispose();
}
} }
if (ruins != null)
{
ruins.Clear();
ruins = null;
}
if (wrappingWalls!=null)
{
for (int side = 0; side < 2; side++)
{
for (int i = 0; i < 2; i++)
{
wrappingWalls[side, i].Dispose();
}
}
wrappingWalls = null;
}
cells = null; cells = null;
bodies.Clear(); if (bodies != null)
bodies = null; {
bodies.Clear();
bodies = null;
}
loaded = null; loaded = null;
} }