internal static List <string> FindUsage(string[] listGUIDs) { if (!isReady) { return(null); } var refs = Api.FindAssets(listGUIDs, true); for (var i = 0; i < refs.Count; i++) { var tmp = FR2_Asset.FindUsage(refs[i]); for (var j = 0; j < tmp.Count; j++) { var itm = tmp[j]; if (refs.Contains(itm)) { continue; } refs.Add(itm); } } return(refs.Select(item => item.guid).ToList()); }
//[MenuItem("Assets/FR2/Tools/Fix Model Import Material")] //public static void FixModelImportMaterial(){ // if (Selection.activeObject == null) return; // CreatePrefabReplaceModel((GameObject)Selection.activeObject); //} //[MenuItem("GameObject/FR2/Paste Materials", false, 10)] //public static void PasteMaterials(){ // if (Selection.activeObject == null) return; // var r = Selection.activeGameObject.GetComponent<Renderer>(); // Undo.RecordObject(r, "Replace Materials"); // r.materials = model_materials; // EditorUtility.SetDirty(r); //} //[MenuItem("GameObject/FR2/Copy Materials", false, 10)] //public static void CopyMaterials(){ // if (Selection.activeObject == null) return; // var r = Selection.activeGameObject.GetComponent<Renderer>(); // if (r == null) return; // model_materials = r.sharedMaterials; //} //-------------------------- APIs ---------------------- private static void SelectDependencies(bool includeMe) { List <FR2_Asset> list = FR2_Cache.Api.FindAssets(FR2_Unity.Selection_AssetGUIDs, false); var dict = new Dictionary <string, Object>(); if (includeMe) { AddToDict(dict, list.ToArray()); } for (var i = 0; i < list.Count; i++) { AddToDict(dict, FR2_Asset.FindUsage(list[i]).ToArray()); } Selection.objects = dict.Values.ToArray(); }