refactor(srp): unify engine managed assembly discovery
This commit is contained in:
@@ -49,12 +49,23 @@ void Application::InitializeScriptingRuntime(const std::string& projectPath) {
|
||||
settings.assemblyDirectory = assemblyDirectory;
|
||||
settings.corlibDirectory = assemblyDirectory;
|
||||
settings.coreAssemblyPath = assemblyDirectory / L"XCEngine.ScriptCore.dll";
|
||||
settings.engineAssemblies.push_back(
|
||||
::XCEngine::Scripting::MonoScriptRuntime::ManagedAssemblyDescriptor{
|
||||
"XCEngine.RenderPipelines.Universal",
|
||||
assemblyDirectory / L"XCEngine.RenderPipelines.Universal.dll"});
|
||||
settings.appAssemblyPath = assemblyDirectory / L"GameScripts.dll";
|
||||
|
||||
std::string assemblyDiscoveryError;
|
||||
if (!::XCEngine::Scripting::MonoScriptRuntime::DiscoverEngineAssemblies(
|
||||
settings,
|
||||
&assemblyDiscoveryError)) {
|
||||
m_scriptRuntimeStatus.statusMessage =
|
||||
"Failed to discover engine managed assemblies: " +
|
||||
assemblyDiscoveryError;
|
||||
logger.Warning(
|
||||
Debug::LogCategory::Scripting,
|
||||
m_scriptRuntimeStatus.statusMessage.c_str());
|
||||
::XCEngine::Scripting::ScriptEngine::Get().SetRuntime(nullptr);
|
||||
ProjectGraphicsSettings::ApplyCurrentSelection(projectPath);
|
||||
return;
|
||||
}
|
||||
|
||||
std::error_code ec;
|
||||
const bool hasCoreAssembly = fs::exists(settings.coreAssemblyPath, ec);
|
||||
ec.clear();
|
||||
|
||||
Reference in New Issue
Block a user