void RenameAssets() { using (var prog = new ProgressBarScope("Save - AssetName", m_root.children.Count + 1)) { foreach (var p in m_asmdefItems) { prog.Next(p.displayName); bool dirty = false; if (p.id == renameItem.id) { continue; } foreach (var pp in p.参照しているasmdefのリスト) { if (renameItem.guid == pp.guid) { //Debug.Log( $"{p.displayName} : {pp.asmname}" ); pp.asmDefの名前 = renameItem.displayName; dirty = true; } } if (dirty) { var s = p.参照しているasmdefのリスト.Where(x => x.toggle).Select(x => x.asmDefの名前).ToArray(); p.m_json.references = s; var ss = p.参照しているasmdefのリスト.Where(x => !x.toggle).Select(x => x.asmDefの名前).ToArray(); p.m_json.referencesBackup = ss; p.m_json.Save(); } } prog.Next(renameItem.displayName); renameItem.m_json.Save(renameItem.displayName); } AssetDatabase.Refresh(); }
public static void ForceReserializeAssets(object context) { #if UNITY_2017_3_OR_NEWER var value = context.ContextToAssetPath(); if (value.IsExistsFile()) { AssetDatabase.ForceReserializeAssets(new string[] { value }); } else { var objs = AssetDatabase.FindAssets("t:Object", new string[] { value }).Select(x => x.ToAssetPath()).ToArray(); using (var prog = new ProgressBarScope("ForceReserializeAssets", objs.Length)) { foreach (var path in objs) { prog.Next(path); AssetDatabase.ForceReserializeAssets(new string[] { path }); } } } #else Debug.LogError("Available after UNITY_2017_3_OR_NEWER."); #endif }
public void SaveAssetDirty() { using (var prog = new ProgressBarScope("Save - AssetName", m_root.children.Count)) { foreach (var p in m_asmdefItems) { prog.Next(p.displayName); if (!p.isDIRTY) { continue; } if (p.changeFormat == 1) { p.isGUID = false; } else if (p.changeFormat == 2) { p.isGUID = true; } Apply(p); //} } AssetDatabase.Refresh(); } }