Initialize ScriptingService earlier

This commit is contained in:
2023-08-11 17:09:38 +03:00
parent 9e8865bd12
commit 983c22a3a6
8 changed files with 24 additions and 28 deletions

View File

@@ -269,6 +269,8 @@ bool MCore::LoadEngine()
// Prepare managed side
CallStaticMethod<void>(GetStaticMethodPointer(TEXT("Init")));
MCore::LoadScriptingAssemblyLoadContext();
#ifdef MCORE_MAIN_MODULE_NAME
// MCORE_MAIN_MODULE_NAME define is injected by Scripting.Build.cs on platforms that use separate shared library for engine symbols
::String flaxLibraryPath(Platform::GetMainDirectory() / TEXT(MACRO_TO_STR(MCORE_MAIN_MODULE_NAME)));
@@ -311,20 +313,16 @@ void MCore::UnloadEngine()
ShutdownHostfxr();
}
#if USE_EDITOR
void MCore::ReloadScriptingAssemblyLoadContext()
void MCore::LoadScriptingAssemblyLoadContext()
{
// Clear any cached class attributes (see https://github.com/FlaxEngine/FlaxEngine/issues/1108)
for (auto e : CachedClassHandles)
e.Value->_attributes.Clear();
static void* ReloadScriptingAssemblyLoadContextPtr = GetStaticMethodPointer(TEXT("ReloadScriptingAssemblyLoadContext"));
CallStaticMethod<void>(ReloadScriptingAssemblyLoadContextPtr);
static void* LoadScriptingAssemblyLoadContextPtr = GetStaticMethodPointer(TEXT("LoadScriptingAssemblyLoadContext"));
CallStaticMethod<void>(LoadScriptingAssemblyLoadContextPtr);
}
#endif
MObject* MCore::Object::Box(void* value, const MClass* klass)
{
static void* BoxValuePtr = GetStaticMethodPointer(TEXT("BoxValue"));

View File

@@ -717,7 +717,7 @@ void MCore::UnloadEngine()
#if USE_EDITOR
void MCore::ReloadScriptingAssemblyLoadContext()
void MCore::LoadScriptingAssemblyLoadContext()
{
}

View File

@@ -60,7 +60,7 @@ void MCore::UnloadEngine()
#if USE_EDITOR
void MCore::ReloadScriptingAssemblyLoadContext()
void MCore::LoadScriptingAssemblyLoadContext()
{
}