[unity] Fixed IndexOutOfRangeException on Unity 2022.2 upon first project import or upgrade. Closes #2241.

This commit is contained in:
Harald Csaszar 2023-02-09 16:55:48 +01:00
parent be983ac413
commit bf5d445fa7

View File

@ -173,17 +173,22 @@ namespace Spine.Unity.Editor {
if (EditorApplication.isPlayingOrWillChangePlaymode) return; if (EditorApplication.isPlayingOrWillChangePlaymode) return;
string[] folders = { "Assets", "Packages" }; string[] folders = { "Assets", "Packages" };
string[] assets = AssetDatabase.FindAssets("t:script SpineEditorUtilities", folders); string[] assets;
string assetPath = AssetDatabase.GUIDToAssetPath(assets[0]); string assetPath;
editorPath = Path.GetDirectoryName(assetPath).Replace('\\', '/');
assets = AssetDatabase.FindAssets("t:texture icon-subMeshRenderer", folders); assets = AssetDatabase.FindAssets("t:texture icon-subMeshRenderer", folders);
if (assets.Length > 0) { if (assets.Length > 0) {
assetPath = AssetDatabase.GUIDToAssetPath(assets[0]); assetPath = AssetDatabase.GUIDToAssetPath(assets[0]);
editorGUIPath = Path.GetDirectoryName(assetPath).Replace('\\', '/'); editorGUIPath = Path.GetDirectoryName(assetPath).Replace('\\', '/');
} else {
editorGUIPath = editorPath.Replace("/Utility", "/GUI");
} }
assets = AssetDatabase.FindAssets("t:script SpineEditorUtilities", folders);
if (assets.Length > 0) {
assetPath = AssetDatabase.GUIDToAssetPath(assets[0]);
editorPath = Path.GetDirectoryName(assetPath).Replace('\\', '/');
if (string.IsNullOrEmpty(editorGUIPath))
editorGUIPath = editorPath.Replace("/Utility", "/GUI");
}
if (string.IsNullOrEmpty(editorGUIPath))
return;
Icons.Initialize(); Icons.Initialize();
// Drag and Drop // Drag and Drop