/// <summary> /// Finds references for specific assets. /// </summary> /// <param name="assets">Specific assets.</param> /// <param name="showResults">Shows results in %Maintainer window if true.</param> /// <returns>Array of ProjectReferenceItem for the TreeView buildup or manual parsing.</returns> public static ProjectReferenceItem[] FindAssetsReferences(string[] assets, bool showResults = true) { var assetsFilters = new FilterItem[assets.Length]; for (var i = 0; i < assets.Length; i++) { assetsFilters[i] = FilterItem.Create(assets[i], FilterKind.Path); } return(ProjectScopeReferencesFinder.FindAssetsReferences(assetsFilters, false, showResults)); }
/// <summary> /// Returns references of all assets at the project, e.g. where each asset is referenced. /// </summary> /// <param name="showResults">Shows results in %Maintainer window if true.</param> /// <returns>Array of ProjectReferenceItem for the TreeView buildup or manual parsing.</returns> public static ProjectReferenceItem[] FindAllAssetsReferences(bool showResults = true) { if (!UserSettings.References.fullProjectScanWarningShown) { if (!EditorUtility.DisplayDialog(ModuleName, "Full project scan may take significant amount of time if your project is very big.\nAre you sure you wish to make a full project scan?\nThis message shows only before first full scan.", "Yes", "Nope")) { return(null); } UserSettings.References.fullProjectScanWarningShown = true; ProjectSettings.Save(); } return(ProjectScopeReferencesFinder.FindAssetsReferences(null, null, showResults)); }
/// <summary> /// Finds references for current Project View selection. /// </summary> /// <param name="showResults">Shows results in %Maintainer window if true.</param> /// <returns>Array of ProjectReferenceItem for the TreeView buildup or manual parsing.</returns> public static ProjectReferenceItem[] FindSelectedAssetsReferences(bool showResults = true) { var selection = ProjectScopeReferencesFinder.GetSelectedAssets(); return(FindAssetsReferences(selection)); }