internal static void ProcessTargetAssets(AssetInfo[] targetAssets) { var sceneTargets = new List <AssetInfo>(); var prefabTargets = new List <AssetInfo>(); var restTargets = new List <AssetInfo>(); foreach (var targetAsset in targetAssets) { var type = targetAsset.Type; if (type == CSReflectionTools.sceneAssetType) { sceneTargets.Add(targetAsset); } else if (type == CSReflectionTools.gameObjectType) { prefabTargets.Add(targetAsset); } else { restTargets.Add(targetAsset); } } IssuesDetector.Init(currentIssuesList); ProcessAssetTargets(sceneTargets, ProcessScene, Phase.Scenes, "Opening scene"); if (IssuesFinder.operationCanceled) { return; } ProcessAssetTargets(prefabTargets, ProcessPrefab, Phase.Prefabs, "Prefab"); if (IssuesFinder.operationCanceled) { return; } ProcessAssetTargets(restTargets, ProcessAsset, Phase.Rest, "Asset"); }