internal static string[] GetPrecompiledAssemblyNames(IPrecompiledAssemblyProvider precompiledAssemblyProvider) { return(precompiledAssemblyProvider.GetPrecompiledAssemblies(true, EditorUserBuildSettings.activeBuildTargetGroup, EditorUserBuildSettings.activeBuildTarget) .Where(x => (x.Flags & sc.AssemblyFlags.UserAssembly) == sc.AssemblyFlags.UserAssembly) .Select(x => AssetPath.GetFileName(x.Path)) .ToArray()); }
public override void OnEnable() { base.OnEnable(); m_AssemblyName = extraDataSerializedObject.FindProperty("assemblyName"); InitializeReorderableLists(); m_SemVersionRanges = new SemVersionRangesFactory(); m_AllowUnsafeCode = extraDataSerializedObject.FindProperty("allowUnsafeCode"); m_UseGUIDs = extraDataSerializedObject.FindProperty("useGUIDs"); m_AutoReferenced = extraDataSerializedObject.FindProperty("autoReferenced"); m_OverrideReferences = extraDataSerializedObject.FindProperty("overrideReferences"); m_CompatibleWithAnyPlatform = extraDataSerializedObject.FindProperty("compatibleWithAnyPlatform"); m_PlatformCompatibility = extraDataSerializedObject.FindProperty("platformCompatibility"); m_NoEngineReferences = extraDataSerializedObject.FindProperty("noEngineReferences"); m_AssemblyProvider = EditorCompilationInterface.Instance.PrecompiledAssemblyProvider; AssemblyReloadEvents.afterAssemblyReload += AfterAssemblyReload; }
internal static string GetPrecompiledAssemblyPathFromAssemblyName(string assemblyName, IPrecompiledAssemblyProvider precompiledAssemblyProvider) { var precompiledAssemblies = precompiledAssemblyProvider.GetPrecompiledAssemblies(true, EditorUserBuildSettings.activeBuildTargetGroup, EditorUserBuildSettings.activeBuildTarget); foreach (var assembly in precompiledAssemblies) { if ((assembly.Flags & sc.AssemblyFlags.UserAssembly) == sc.AssemblyFlags.UserAssembly && AssetPath.GetFileName(assembly.Path) == assemblyName) { return(assembly.Path); } } return(null); }
internal static string[] GetPrecompiledAssemblyPaths(PrecompiledAssemblySources precompiledAssemblySources, IPrecompiledAssemblyProvider precompiledAssemblyProvider) { HashSet <string> assemblyNames = new HashSet <string>(); sc.AssemblyFlags flags = sc.AssemblyFlags.None; if ((precompiledAssemblySources & PrecompiledAssemblySources.SystemAssembly) != 0) { foreach (var a in MonoLibraryHelpers.GetSystemLibraryReferences(ApiCompatibilityLevel.NET_4_6, Scripting.ScriptCompilers.CSharpSupportedLanguage)) { assemblyNames.Add(a); } } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEngine) != 0) { flags |= sc.AssemblyFlags.UnityModule; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UnityEditor) != 0) { flags |= sc.AssemblyFlags.EditorOnly; } if ((precompiledAssemblySources & PrecompiledAssemblySources.UserAssembly) != 0) { flags |= sc.AssemblyFlags.UserAssembly; } var precompiledAssemblies = precompiledAssemblyProvider.GetPrecompiledAssemblies(true, EditorUserBuildSettings.activeBuildTargetGroup, EditorUserBuildSettings.activeBuildTarget).Concat(EditorCompilationInterface.Instance.GetUnityAssemblies()); foreach (var a in precompiledAssemblies.Where(x => (x.Flags & flags) != 0)) { assemblyNames.Add(a.Path); } return(assemblyNames.ToArray()); }