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

View File

@@ -93,7 +93,7 @@ namespace Barotrauma
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
throw e;

View File

@@ -870,23 +870,39 @@ namespace Barotrauma
private void Unload()
{
if (renderer!=null) renderer.Dispose();
renderer = null;
ruins.Clear();
for (int side = 0; side < 2; side++)
if (renderer!=null)
{
for (int i = 0; i < 2; i++)
{
wrappingWalls[side, i].Dispose();
}
renderer.Dispose();
renderer = null;
}
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;
bodies.Clear();
bodies = null;
if (bodies != null)
{
bodies.Clear();
bodies = null;
}
loaded = null;
}