static void FindMissingAudio() { string _search = "ButtonClickAudio"; List <ResultItem> listResult = TraverseAllPrefabsForComponent(_search); Debug.Log(string.Format("Found prefab items '{0}': {1}", _search, listResult.Count)); foreach (ResultItem trans in listResult) { ButtonClickAudio _comp = trans.transform.gameObject.GetComponent <ButtonClickAudio>(); if (_comp != null && _comp.audioClip == null) { Debug.Log(trans.transform.gameObject.transform.parent.gameObject + " is missing AudioClip in " + trans.path); } } listResult = TraverseAllScenesForComponent(_search); Debug.Log(string.Format("Found scene items '{0}': {1}", _search, listResult.Count)); foreach (ResultItem trans in listResult) { ButtonClickAudio _comp = trans.transform.gameObject.GetComponent <ButtonClickAudio>(); if (_comp != null && _comp.audioClip == null) { Debug.Log(trans.transform.gameObject.transform.parent.gameObject + " is missing AudioClip in " + trans.path); } } EditorApplication.MarkSceneDirty(); }
static void AddButtonClickAudio() { List <ResultItem> listResult = TraverseAllPrefabsForComponent("Button"); Debug.Log(string.Format("Found prefab items '{0}': {1}", "Button", listResult.Count)); foreach (ResultItem trans in listResult) { if (trans.transform.gameObject.GetComponent <ButtonClickAudio>() == null) { Debug.Log(trans.transform.gameObject + " is missing ButtonClickAudio in " + trans.path); ButtonClickAudio _audio = trans.transform.gameObject.AddComponent <ButtonClickAudio>(); _audio.audioClip = Resources.Load <AudioClip>("Audio/Button"); AssetDatabase.SaveAssets(); } } listResult = TraverseAllScenesForComponent("Button"); Debug.Log(string.Format("Found scene items '{0}': {1}", "Button", listResult.Count)); foreach (ResultItem trans in listResult) { if (trans.transform.gameObject.GetComponent <ButtonClickAudio>() == null) { Debug.Log(trans.transform.gameObject + " is missing ButtonClickAudio in " + trans.path); ButtonClickAudio _audio = trans.transform.gameObject.AddComponent <ButtonClickAudio>(); _audio.audioClip = Resources.Load <AudioClip>("Audio/Button"); } } EditorApplication.MarkSceneDirty(); }