public static List <AssetImporterProcesserHanlder> GetHandlers(AssetProcessorInfo param) { List <AssetImporterProcesserHanlder> handlers = new List <AssetImporterProcesserHanlder>(); if (null != param.Processes) { for (int i = 0; i < param.Processes.Count; ++i) { handlers.Add(GetHandler(param.Processes[i])); } } return(handlers); }
/// <summary> /// /// </summary> /// <param name="type">0--all 1--scene 2--other</param> /// <returns></returns> private static int SetAllAssetInDbOnce(int type) { int totalModifiedCount = 0; ResourceEditUtility.UseSpecificSettingDB = true; ResourceEditUtility.EnableSaveAndReimport = true; try { AssetDatabase.StartAssetEditing(); var processedAssets = new HashSet <string>(); int count = DBInstance.Count; for (int i = 0; i < count; ++i) { AssetProcessorInfo param = DBInstance[i]; param.PrepareFiltersAndProcesses(); if (type == 1 && !param.ResPath.Contains("SceneRes")) { continue; } else if (type == 2 && param.ResPath.Contains("SceneRes")) { continue; } ResourceProcessor.Instance.SelectDsl(param.DslPath); ResourceProcessor.Instance.CollectPath = param.ResPath; ResourceProcessor.Instance.OverridedProgressTitle = string.Format("{0}/{1}", i + 1, count); ResourceProcessor.Instance.Refresh(true); ResourceProcessor.Instance.OverridedProgressTitle = string.Format("{0}/{1}", i + 1, count); ResourceProcessor.Instance.SelectAll(); int ct = ResourceProcessor.Instance.Process(true); if (ct > 0) { totalModifiedCount += ct; } } TextureImporterParamsDB.UpdateAllTextures(); ModelImporterParamsDB.UpdateAllModels(); PrefabParamsDB.UpdateAllPrefabs(); return(totalModifiedCount); } finally { ResourceEditUtility.EnableSaveAndReimport = false; AssetDatabase.StopAssetEditing(); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(ImportAssetOptions.Default); EditorUtility.UnloadUnusedAssetsImmediate(true); EditorUtility.ClearProgressBar(); } }
private void Export() { m_IsReady = false; try { AssetProcessorDB.DBInstance.Clear(); foreach (var info in m_List) { if (!string.IsNullOrEmpty(info.DslPath)) { var item = new AssetProcessorInfo(); item.ResPath = info.ResPath; item.DslPath = info.DslPath; AssetProcessorDB.DBInstance.Add(item); } } AssetProcessorDB.DBInstance.Save(); } finally { m_IsReady = true; } }
public void Remove(AssetProcessorInfo info) { m_Processers.Remove(info); }
public void Add(AssetProcessorInfo info) { m_Processers.Add(info); }