refactor(srp): split universal managed pipeline assembly
This commit is contained in:
@@ -49,17 +49,34 @@ 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::error_code ec;
|
||||
const bool hasCoreAssembly = fs::exists(settings.coreAssemblyPath, ec);
|
||||
ec.clear();
|
||||
bool hasEngineAssemblies = true;
|
||||
for (const auto& assembly : settings.engineAssemblies) {
|
||||
const bool hasAssembly = fs::exists(assembly.path, ec);
|
||||
ec.clear();
|
||||
hasEngineAssemblies = hasEngineAssemblies && hasAssembly;
|
||||
}
|
||||
const bool hasAppAssembly = fs::exists(settings.appAssemblyPath, ec);
|
||||
ec.clear();
|
||||
const bool hasCorlibAssembly = fs::exists(assemblyDirectory / L"mscorlib.dll", ec);
|
||||
m_scriptRuntimeStatus.assembliesFound = hasCoreAssembly && hasAppAssembly && hasCorlibAssembly;
|
||||
m_scriptRuntimeStatus.assembliesFound =
|
||||
hasCoreAssembly &&
|
||||
hasEngineAssemblies &&
|
||||
hasAppAssembly &&
|
||||
hasCorlibAssembly;
|
||||
|
||||
if (!hasCoreAssembly || !hasAppAssembly || !hasCorlibAssembly) {
|
||||
if (!hasCoreAssembly ||
|
||||
!hasEngineAssemblies ||
|
||||
!hasAppAssembly ||
|
||||
!hasCorlibAssembly) {
|
||||
m_scriptRuntimeStatus.statusMessage =
|
||||
"Script assemblies were not found in " + Platform::WideToUtf8(assemblyDirectory.wstring()) +
|
||||
". Script class discovery is disabled until the managed assemblies are built.";
|
||||
|
||||
Reference in New Issue
Block a user