From c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 19 Apr 2020 17:19:32 -0400 Subject: Inital commit --- .../Rider/Editor/RiderInitializer.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/RiderInitializer.cs (limited to 'Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/RiderInitializer.cs') diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/RiderInitializer.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/RiderInitializer.cs new file mode 100644 index 0000000..f64ee8d --- /dev/null +++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/RiderInitializer.cs @@ -0,0 +1,38 @@ +using System; +using System.IO; +using UnityEngine; +using Debug = UnityEngine.Debug; + +namespace Packages.Rider.Editor +{ + internal class RiderInitializer + { + public void Initialize(string editorPath) + { + var assembly = EditorPluginInterop.EditorPluginAssembly; + if (EditorPluginInterop.EditorPluginIsLoadedFromAssets(assembly)) + { + Debug.LogError($"Please delete {assembly.Location}. Unity 2019.2+ loads it directly from Rider installation. To disable this, open Rider's settings, search and uncheck 'Automatically install and update Rider's Unity editor plugin'."); + return; + } + + var dllName = "JetBrains.Rider.Unity.Editor.Plugin.Full.Repacked.dll"; + var relPath = "../../plugins/rider-unity/EditorPlugin"; + if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX) + relPath = "Contents/plugins/rider-unity/EditorPlugin"; + var dllFile = new FileInfo(Path.Combine(Path.Combine(editorPath, relPath), dllName)); + + if (dllFile.Exists) + { + var bytes = File.ReadAllBytes(dllFile.FullName); + assembly = AppDomain.CurrentDomain.Load(bytes); // doesn't lock assembly on disk + // assembly = AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(dllFile.FullName)); // use this for external source debug + EditorPluginInterop.InitEntryPoint(assembly); + } + else + { + Debug.Log($"Unable to find Rider EditorPlugin {dllFile.FullName} for Unity "); + } + } + } +} -- cgit v1.2.3