diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/AssemblyManager.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/AssemblyManager.cs index 13fccff71..b68a8e6b7 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/AssemblyManager.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/AssemblyManager.cs @@ -236,12 +236,20 @@ public partial class AssemblyManager if (types.Count > 0) return types; - // fallback to Type.GetType - foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) + OpsLockLoaded.EnterReadLock(); + try { - Type t = assembly.GetType(typeName); - if (t is not null) - types.Add(byRef ? t.MakeByRefType() : t); + // fallback to Type.GetType + foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) + { + Type t = assembly.GetType(typeName, false, false); + if (t is not null) + types.Add(byRef ? t.MakeByRefType() : t); + } + } + finally + { + OpsLockLoaded.ExitReadLock(); } return types;