/// <summary> /// 获得动态程序集组 /// </summary> /// <returns>程序集组</returns> public static List <Assembly> GetDynamicAssemblies() { List <Assembly> assemblies = new List <Assembly>(); string dllExt = typeof(enFileExt).GetAttributeForConstField <FileExtAttribute>(enFileExt.Dll).ext; if (mDynamicDlls == null) { mDynamicDlls = EditorStrayFogUtility.collectAsset.CollectAsset <EditorAssemblySelectionAsset>( new string[1] { EditorStrayFogApplication.TryRelativeToAssets("") }, "", enEditorDependencyClassify.UnClude, (n) => { return(n.ext.Equals(dllExt)); }, false); } List <Assembly> tempAssemblies = null; if (mDynamicDlls != null && mDynamicDlls.Count > 0) { foreach (EditorAssemblySelectionAsset d in mDynamicDlls) { try { assemblies.Add(Assembly.LoadFrom(d.path)); } catch (Exception ep) { Debug.LogWarning(ep.Message); } } } tempAssemblies = GetApplicationAssembly(); if (tempAssemblies != null) { assemblies.AddRange(tempAssemblies); } tempAssemblies = GetEditorApplicationAssembly(); if (tempAssemblies != null) { assemblies.AddRange(tempAssemblies); } assemblies.Add(GetUnityEngineAssembly()); assemblies.Add(GetUnityEditorAssembly()); return(assemblies); }
/// <summary> /// 重置 /// </summary> void OnReset() { directory = EditorStrayFogApplication.TryRelativeToAssets(directory); fileName = Path.Combine(directory, name + extAttribute.ext).TransPathSeparatorCharToUnityChar(); }