private static bool OnGameObjectTraverse(ObjectTraverseInfo traverseInfo) { var target = traverseInfo.current; currentObjectCache = null; //Debug.Log("OnGameObjectTraverse " + target); if (traverseInfo.inPrefabInstance) { //Debug.Log("traverseInfo.dirtyComponents " + traverseInfo.dirtyComponents); var prefabAssetSource = CSPrefabTools.GetAssetSource(target); if (prefabAssetSource != null) { var instanceId = prefabAssetSource.GetInstanceID(); TryAddEntryToMatchedConjunctions(target, instanceId, null); if (traverseInfo.dirtyComponents == null) { traverseInfo.skipCurrentTree = true; return(true); } } } var thumbnail = AssetPreview.GetMiniThumbnail(target); if (thumbnail != null && (thumbnail.hideFlags & HideFlags.HideAndDontSave) == 0) { var addSettings = new EntryAddSettings { prefix = "[Object Icon]", }; TryAddEntryToMatchedConjunctions(target, thumbnail.GetInstanceID(), addSettings); } CSTraverseTools.TraverseGameObjectComponents(traverseInfo, OnGameObjectComponentTraverse); return(true); }
public static bool OnGameObjectTraverse(ObjectTraverseInfo traverseInfo) { var target = traverseInfo.current; //Debug.Log("OnGameObjectTraverse " + target); if (traverseInfo.inPrefabInstance) { var prefabAssetSource = CSPrefabTools.GetAssetSource(target); if (prefabAssetSource != null) { var instanceId = prefabAssetSource.GetInstanceID(); currentProcessReferenceCallback(target, instanceId, null); if (traverseInfo.dirtyComponents == null) { traverseInfo.skipCurrentTree = true; return true; } } } var thumbnail = AssetPreview.GetMiniThumbnail(target); if (thumbnail != null && (thumbnail.hideFlags & HideFlags.HideAndDontSave) == 0) { var addSettings = new EntryAddSettings { prefix = "[Object Icon]", }; currentProcessReferenceCallback(target, thumbnail.GetInstanceID(), addSettings); } CSTraverseTools.TraverseGameObjectComponents(traverseInfo, OnGameObjectComponentTraverse); return true; }