private static void ShowAndSearchInternal(IEnumerable <Object> searchObjects, AssetUsageDetector.Parameters searchParameters, bool?shouldSearchChildren) { if (mainWindow != null && !mainWindow.ReturnToSetupPhase(true, true)) { Debug.LogError("Need to reset the previous search first!"); return; } OpenActiveWindow(); mainWindow.objectsToSearch.Clear(); if (searchObjects != null) { foreach (Object obj in searchObjects) { mainWindow.objectsToSearch.Add(new ObjectToSearch(obj, shouldSearchChildren)); } } if (searchParameters != null) { mainWindow.ParseSceneSearchMode(searchParameters.searchInScenes); mainWindow.searchInAssetsFolder = searchParameters.searchInAssetsFolder; mainWindow.dontSearchInSourceAssets = searchParameters.dontSearchInSourceAssets; mainWindow.searchInProjectSettings = searchParameters.searchInProjectSettings; mainWindow.searchDepthLimit = searchParameters.searchDepthLimit; mainWindow.fieldModifiers = searchParameters.fieldModifiers; mainWindow.propertyModifiers = searchParameters.propertyModifiers; mainWindow.searchNonSerializableVariables = searchParameters.searchNonSerializableVariables; mainWindow.lazySceneSearch = searchParameters.lazySceneSearch; mainWindow.noAssetDatabaseChanges = searchParameters.noAssetDatabaseChanges; mainWindow.showDetailedProgressBar = searchParameters.showDetailedProgressBar; mainWindow.searchInAssetsSubset.Clear(); if (searchParameters.searchInAssetsSubset != null) { foreach (Object obj in searchParameters.searchInAssetsSubset) { mainWindow.searchInAssetsSubset.Add(obj); } } mainWindow.excludedAssets.Clear(); if (searchParameters.excludedAssetsFromSearch != null) { foreach (Object obj in searchParameters.excludedAssetsFromSearch) { mainWindow.excludedAssets.Add(obj); } } mainWindow.excludedScenes.Clear(); if (searchParameters.excludedScenesFromSearch != null) { foreach (Object obj in searchParameters.excludedScenesFromSearch) { mainWindow.excludedScenes.Add(obj); } } } mainWindow.InitiateSearch(); mainWindow.Repaint(); }