Files
SpaceDroid/Droid 2/Library/PackageCache/com.unity.ide.rider@3.0.34/Rider/Editor/Debugger/LinkXmlInstaller.cs
2025-01-17 13:04:56 +01:00

53 lines
1.7 KiB
C#

#if UNITY_2019_3_OR_NEWER
using System;
using JetBrains.Annotations;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEditor.UnityLinker;
using UnityEngine;
namespace Packages.Rider.Editor.Debugger
{
internal class LinkXmlInstaller : IUnityLinkerProcessor
{
public int callbackOrder => 0;
public string GenerateAdditionalLinkXmlFile([CanBeNull] BuildReport report, UnityLinkerBuildPipelineData data)
{
if (!RiderScriptEditor.IsRiderOrFleetInstallation(RiderScriptEditor.CurrentEditor))
return string.Empty;
if (!RiderDebuggerProvider.IsScriptDebuggingEnable(report))
return string.Empty;
if (!RiderDebuggerProvider.IsIl2CppScriptingBackend(report))
return string.Empty;
var il2CppDebugSupport = RiderDebuggerProvider.Instance.Il2CppDebugSupport;
if (il2CppDebugSupport == Il2CppDebugSupport.None)
return string.Empty;
try
{
var preserveUnityEngineDlls = il2CppDebugSupport.HasFlag(Il2CppDebugSupport.PreserveUnityEngineDlls);
var preservePlayerDlls = il2CppDebugSupport.HasFlag(Il2CppDebugSupport.PreservePlayerDlls);
var path = EditorPluginInterop.GenerateAdditionalLinkXmlFile(report, data, preserveUnityEngineDlls, preservePlayerDlls);
return path;
}
catch (Exception e)
{
Debug.LogError(e);
}
return string.Empty;
}
//Unity Editor 2019 IUnityLinkerProcessor interface methods
public void OnBeforeRun(BuildReport report, UnityLinkerBuildPipelineData data) {}
public void OnAfterRun(BuildReport report, UnityLinkerBuildPipelineData data) {}
}
}
#endif