1234567891011121314151617181920212223242526 |
- using System.IO;
- using System.Linq;
- using System.Reflection;
- using Mono.CecilX;
- namespace Mirror.Weaver
- {
- static class Helpers
- {
- // This code is taken from SerializationWeaver
- public static string UnityEngineDllDirectoryName()
- {
- string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
- return directoryName?.Replace(@"file:\", "");
- }
- public static bool IsEditorAssembly(AssemblyDefinition currentAssembly)
- {
- // we want to add the [InitializeOnLoad] attribute if it's available
- // -> usually either 'UnityEditor' or 'UnityEditor.CoreModule'
- return currentAssembly.MainModule.AssemblyReferences.Any(assemblyReference =>
- assemblyReference.Name.StartsWith(nameof(UnityEditor))
- );
- }
- }
- }
|