diff --git a/Barotrauma/BarotraumaShared/SharedSource/Utils/ReflectionUtils.cs b/Barotrauma/BarotraumaShared/SharedSource/Utils/ReflectionUtils.cs index ee48a1eb3..552ccdc7a 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Utils/ReflectionUtils.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Utils/ReflectionUtils.cs @@ -16,9 +16,12 @@ namespace Barotrauma public static IEnumerable GetDerivedNonAbstract() { Assembly assembly = typeof(T).Assembly; - if (!cachedNonAbstractTypes.ContainsKey(assembly)) + lock (cachedNonAbstractTypes) { - AddNonAbstractAssemblyTypes(assembly); + if (!cachedNonAbstractTypes.ContainsKey(assembly)) + { + AddNonAbstractAssemblyTypes(assembly); + } } #warning TODO: Add safety checks in case an assembly is unloaded without being removed from the cache.