v0.11.0.9
This commit is contained in:
@@ -88,35 +88,30 @@ namespace Barotrauma
|
||||
DebugConsole.ThrowError($"Prefab \"{prefab.OriginalName}\" has no identifier!");
|
||||
}
|
||||
|
||||
List<T> newList = null;
|
||||
if (!prefabs.TryGetValue(prefab.Identifier, out List<T> list))
|
||||
bool basePrefabExists = prefabs.TryGetValue(prefab.Identifier, out List<T> list);
|
||||
|
||||
//Handle bad overrides and duplicates
|
||||
if (basePrefabExists && !isOverride)
|
||||
{
|
||||
newList = new List<T>(); newList.Add(null);
|
||||
list = newList;
|
||||
DebugConsole.ThrowError($"Error registering \"{prefab.OriginalName}\", \"{prefab.Identifier}\" ({typeof(T).ToString()}): base already exists; try overriding");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isOverride)
|
||||
|
||||
//Add to list
|
||||
if (!basePrefabExists)
|
||||
{
|
||||
/*if (list[0] == null)
|
||||
{
|
||||
DebugConsole.ThrowError($"Error registering \"{prefab.OriginalName}\", \"{prefab.Identifier}\" ({typeof(T).ToString()}): overriding when base doesn't exist");
|
||||
return;
|
||||
}*/
|
||||
list.Add(prefab);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list[0] != null)
|
||||
{
|
||||
DebugConsole.ThrowError($"Error registering \"{prefab.OriginalName}\", \"{prefab.Identifier}\" ({typeof(T).ToString()}): base already exists; try overriding");
|
||||
return;
|
||||
}
|
||||
list[0] = prefab;
|
||||
list = new List<T>();
|
||||
}
|
||||
|
||||
list.Add(prefab);
|
||||
|
||||
Sort(list);
|
||||
|
||||
if (newList != null) { prefabs.Add(prefab.Identifier, newList); }
|
||||
if (!basePrefabExists)
|
||||
{
|
||||
prefabs.Add(prefab.Identifier, list);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user