From 9c7b900a736d5b49cc0972d969f1703c023b20e3 Mon Sep 17 00:00:00 2001 From: tsgcpp Date: Sun, 21 Aug 2022 15:09:14 +0900 Subject: [PATCH 1/3] fix: Use EditorGUILayout.HorizontalScope instead --- .../StringTableCollectionBundleEditor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs index 5c1ac85..fee308c 100644 --- a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs +++ b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs @@ -30,7 +30,7 @@ public override void OnInspectorGUI() private void DrawToolsWithSheetsServiceProvider() { EditorGUILayout.LabelField("Tools (using SheetsServiceProvider)", EditorStyles.boldLabel); - using var h = new GUILayout.HorizontalScope(); + using var h = new EditorGUILayout.HorizontalScope(); if (GUILayout.Button("Pull All Locales")) { var serviceProvider = GetSheetsServiceProvider(); @@ -47,7 +47,7 @@ private void DrawToolsWithSheetsServiceProvider() private void DrawToolsWithServiceAccount() { EditorGUILayout.LabelField("Tools (using Google Service Account)", EditorStyles.boldLabel); - using var h = new GUILayout.HorizontalScope(); + using var h = new EditorGUILayout.HorizontalScope(); if (GUILayout.Button("Pull All Locales")) { PullWithGoogleServiceAccount(); From 0a40ad54980cccea782bd0d0ec763a45445b5453 Mon Sep 17 00:00:00 2001 From: tsgcpp Date: Sun, 21 Aug 2022 15:39:08 +0900 Subject: [PATCH 2/3] fix: Rename the method to "FindAssets" Fix the method to return no assets if the argument is null Add "FindAsset" with a "DefaultAsset" --- .../Editor/AssetTool/AssetFinding.cs | 17 +++- .../StringTableCollectionBundle.cs | 2 +- .../StringTableCollectionBundleEditor.cs | 2 +- .../Editor/AssetTool/TestAsset.cs | 11 +++ .../Editor/AssetTool/TestAsset.cs.meta | 11 +++ .../Editor/AssetTool/TestAssetFinding.cs | 93 ++++++++++++++----- .../Resources/Foo01/Bar01/TestAsset01.asset | 15 +++ .../Bar01/TestAsset01.asset.meta} | 5 +- .../Editor/Resources/Foo01/Bar01/Text01.txt | 1 - .../Foo02/Bar01/Baz01/TestAsset02.asset | 15 +++ .../Bar01/Baz01/TestAsset02.asset.meta} | 5 +- .../Foo02/Bar01/Baz01/TestAsset04.asset | 15 +++ .../Baz01/TestAsset04.asset.meta} | 5 +- .../Resources/Foo02/Bar01/Baz01/Text02.txt | 1 - .../Resources/Foo02/Bar01/Baz01/Text04.txt | 1 - .../Resources/Foo02/Bar02/TestAsset03.asset | 15 +++ .../TestAsset03.asset.meta} | 5 +- .../Editor/Resources/Foo02/Bar02/Text03.txt | 1 - 18 files changed, 181 insertions(+), 39 deletions(-) create mode 100644 Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs create mode 100644 Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs.meta create mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset rename Assets/Tests/LocalizationExtension/Editor/Resources/{Foo02/Bar01/Baz01/Text04.txt.meta => Foo01/Bar01/TestAsset01.asset.meta} (52%) delete mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt create mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset rename Assets/Tests/LocalizationExtension/Editor/Resources/{Foo01/Bar01/Text01.txt.meta => Foo02/Bar01/Baz01/TestAsset02.asset.meta} (52%) create mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset rename Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/{Bar02/Text03.txt.meta => Bar01/Baz01/TestAsset04.asset.meta} (52%) delete mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt delete mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt create mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset rename Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/{Bar01/Baz01/Text02.txt.meta => Bar02/TestAsset03.asset.meta} (52%) delete mode 100644 Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt diff --git a/Assets/Plugins/LocalizationExtension/Editor/AssetTool/AssetFinding.cs b/Assets/Plugins/LocalizationExtension/Editor/AssetTool/AssetFinding.cs index 9dbd57e..0f08fe8 100644 --- a/Assets/Plugins/LocalizationExtension/Editor/AssetTool/AssetFinding.cs +++ b/Assets/Plugins/LocalizationExtension/Editor/AssetTool/AssetFinding.cs @@ -8,11 +8,16 @@ namespace Tsgcpp.Localization.Extension.Editor { public static class AssetFinding { - public static IReadOnlyList FindAssetsInFolders(IReadOnlyList folders) where T : UnityEngine.Object + public static IReadOnlyList FindAssets(DefaultAsset folder) where T : UnityEngine.Object + { + return FindAssets(new List { folder }); + } + + public static IReadOnlyList FindAssets(IReadOnlyList folders) where T : UnityEngine.Object { if (folders == null) { - throw new NullReferenceException("folders is null."); + return new List(); } var folderPathList = folders @@ -22,10 +27,14 @@ public static IReadOnlyList FindAssetsInFolders(IReadOnlyList Directory.Exists(path)) .ToList(); + if (folderPathList.Count <= 0) + { + return new List(); + } + var assets = AssetDatabase - .FindAssets($"t:{typeof(T).Name}") + .FindAssets($"t:{typeof(T).Name}", searchInFolders: folderPathList.ToArray()) .Select(AssetDatabase.GUIDToAssetPath) - .Where(path => folderPathList.Any(folderPath => path.StartsWith(folderPath))) .OrderBy(path => path) .Distinct() .Select(AssetDatabase.LoadAssetAtPath) diff --git a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundle.cs b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundle.cs index 9387c2b..dc06c33 100644 --- a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundle.cs +++ b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundle.cs @@ -26,7 +26,7 @@ public sealed class StringTableCollectionBundle : ScriptableObject, ITargetFolde public float SleepSecondsPerRequest => _sleepSecondsPerRequest; public IReadOnlyList StringTableCollections => - AssetFinding.FindAssetsInFolders(TargetFolders); + AssetFinding.FindAssets(TargetFolders); public void PullAllLocales( bool removeMissingEntries = false, diff --git a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs index fee308c..5d59b35 100644 --- a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs +++ b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs @@ -138,7 +138,7 @@ private sealed class FolderToCollectionConverter : IListConverter Convert(IReadOnlyList list) { - return AssetFinding.FindAssetsInFolders(list); + return AssetFinding.FindAssets(list); } } } diff --git a/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs new file mode 100644 index 0000000..cee09ee --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace Tests.Tsgcpp.Localization.Extension.Editor +{ + // [CreateAssetMenu(fileName = nameof(TestAsset), menuName = "Tsgcpp/Tests/TestAssetFinding/" + nameof(TestAsset), order = 1)] + public sealed class TestAsset : ScriptableObject + { + [SerializeField] private string _label; + public string Label => _label; + } +} diff --git a/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs.meta b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs.meta new file mode 100644 index 0000000..2a73dc8 --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f2fd2ba5cf501d149becb29e6e258529 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAssetFinding.cs b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAssetFinding.cs index 6f1e7e7..7fe364c 100644 --- a/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAssetFinding.cs +++ b/Assets/Tests/LocalizationExtension/Editor/AssetTool/TestAssetFinding.cs @@ -12,7 +12,35 @@ namespace Tests.Tsgcpp.Localization.Extension.Editor public class TestAssetFinding { [Test] - public void FindAssetsInFolders_ReturnsTextAsset_IfFolderContainsTextAsset_WhenOneFolder() + public void FindAssets_WithDefaultAssetArg_ReturnsAsset_IfFolderContainsAsset() + { + // Arrange + var folder = AssetDatabase.LoadAssetAtPath("Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01"); + + // Act + var actual = AssetFinding.FindAssets(folder); + + // Assert + Assert.That(actual.Count, Is.EqualTo(2)); + Assert.That(actual[0].Label, Is.EqualTo("02")); + Assert.That(actual[1].Label, Is.EqualTo("04")); + } + + [Test] + public void FindAssets_WithDefaultAssetArg_ReturnsNoAssets_IfArgIsNull() + { + // Arrange + DefaultAsset folder = null; + + // Act + var actual = AssetFinding.FindAssets(folder); + + // Assert + Assert.That(actual.Count, Is.EqualTo(0)); + } + + [Test] + public void FindAssets_WithListArg_ReturnsAsset_IfFolderContainsAsset_WhenOneFolder() { // Arrange var folders = new List @@ -21,16 +49,16 @@ public void FindAssetsInFolders_ReturnsTextAsset_IfFolderContainsTextAsset_WhenO }; // Act - var actual = AssetFinding.FindAssetsInFolders(folders); + var actual = AssetFinding.FindAssets(folders); // Assert Assert.That(actual.Count, Is.EqualTo(2)); - Assert.That(actual[0].text, Is.EqualTo("02")); - Assert.That(actual[1].text, Is.EqualTo("04")); + Assert.That(actual[0].Label, Is.EqualTo("02")); + Assert.That(actual[1].Label, Is.EqualTo("04")); } [Test] - public void FindAssetsInFolders_ReturnsTextAsset_IfFolderContainsTextAsset_WhenMultipleFolders() + public void FindAssets_WithListArg_ReturnsAsset_IfFolderContainsAsset_WhenMultipleFolders() { // Arrange var folders = new List @@ -41,18 +69,18 @@ public void FindAssetsInFolders_ReturnsTextAsset_IfFolderContainsTextAsset_WhenM }; // Act - var actual = AssetFinding.FindAssetsInFolders(folders); + var actual = AssetFinding.FindAssets(folders); // Assert Assert.That(actual.Count, Is.EqualTo(4)); - Assert.That(actual[0].text, Is.EqualTo("01")); - Assert.That(actual[1].text, Is.EqualTo("02")); - Assert.That(actual[2].text, Is.EqualTo("04")); - Assert.That(actual[3].text, Is.EqualTo("03")); + Assert.That(actual[0].Label, Is.EqualTo("01")); + Assert.That(actual[1].Label, Is.EqualTo("02")); + Assert.That(actual[2].Label, Is.EqualTo("04")); + Assert.That(actual[3].Label, Is.EqualTo("03")); } [Test] - public void FindAssetsInFolders_ReturnsUniquedTextAsset_IfTextAssetsAreDupulicated() + public void FindAssets_WithListArg_ReturnsUniquedAsset_IfAssetsAreDupulicated() { // Arrange var folders = new List @@ -63,17 +91,17 @@ public void FindAssetsInFolders_ReturnsUniquedTextAsset_IfTextAssetsAreDupulicat }; // Act - var actual = AssetFinding.FindAssetsInFolders(folders); + var actual = AssetFinding.FindAssets(folders); // Assert Assert.That(actual.Count, Is.EqualTo(3)); - Assert.That(actual[0].text, Is.EqualTo("02")); - Assert.That(actual[1].text, Is.EqualTo("04")); - Assert.That(actual[2].text, Is.EqualTo("03")); + Assert.That(actual[0].Label, Is.EqualTo("02")); + Assert.That(actual[1].Label, Is.EqualTo("04")); + Assert.That(actual[2].Label, Is.EqualTo("03")); } [Test] - public void FindAssetsInFolders_ReturnsNoTextAssets_IfTextAssetsDontExist() + public void FindAssets_WithListArg_ReturnsNoAssets_IfAssetsDontExist() { // Arrange var folders = new List @@ -82,31 +110,54 @@ public void FindAssetsInFolders_ReturnsNoTextAssets_IfTextAssetsDontExist() }; // Act - var actual = AssetFinding.FindAssetsInFolders(folders); + var actual = AssetFinding.FindAssets(folders); // Assert Assert.That(actual.Count, Is.EqualTo(0)); } [Test] - public void FindAssetsInFolders_ReturnsNoTextAssets_IfFoldersIsNone() + public void FindAssets_WithListArg_ReturnsNoAssets_IfNullList() { // Arrange var folders = new List { + null, }; // Act - var actual = AssetFinding.FindAssetsInFolders(folders); + var actual = AssetFinding.FindAssets(folders); // Assert Assert.That(actual.Count, Is.EqualTo(0)); } [Test] - public void FindAssetsInFolders_ThrowsNullReferenceException_IfArgIsNull() + public void FindAssets_WithListArg_ReturnsNoAssets_IfArgIsNull() { - Assert.Throws(() => AssetFinding.FindAssetsInFolders(null)); + // Arrange + List folders = null; + + // Act + var actual = AssetFinding.FindAssets(folders); + + // Assert + Assert.That(actual.Count, Is.EqualTo(0)); + } + + [Test] + public void FindAssets_WithListArg_ReturnsNoAssets_IfFoldersIsNone() + { + // Arrange + var folders = new List + { + }; + + // Act + var actual = AssetFinding.FindAssets(folders); + + // Assert + Assert.That(actual.Count, Is.EqualTo(0)); } } } diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset new file mode 100644 index 0000000..5dd6f5a --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2fd2ba5cf501d149becb29e6e258529, type: 3} + m_Name: TestAsset01 + m_EditorClassIdentifier: + _label: 01 diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt.meta b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset.meta similarity index 52% rename from Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt.meta rename to Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset.meta index 98bdd2a..ce91789 100644 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt.meta +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/TestAsset01.asset.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: fcdb7ef114abdf74bbcc3b39fc9508ab -TextScriptImporter: +guid: 9fcb13301b38bea40bd89261e251cdc4 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt deleted file mode 100644 index a616ad4..0000000 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt +++ /dev/null @@ -1 +0,0 @@ -01 \ No newline at end of file diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset new file mode 100644 index 0000000..8202556 --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2fd2ba5cf501d149becb29e6e258529, type: 3} + m_Name: TestAsset02 + m_EditorClassIdentifier: + _label: 02 diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt.meta b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset.meta similarity index 52% rename from Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt.meta rename to Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset.meta index 4e3c06a..02c1ed5 100644 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo01/Bar01/Text01.txt.meta +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset02.asset.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: b77084ba5a45a764f9c3ce15370ec40e -TextScriptImporter: +guid: 3aa36544851fd1f4b956efea1f6e313d +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset new file mode 100644 index 0000000..25e4680 --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2fd2ba5cf501d149becb29e6e258529, type: 3} + m_Name: TestAsset04 + m_EditorClassIdentifier: + _label: 04 diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt.meta b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset.meta similarity index 52% rename from Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt.meta rename to Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset.meta index 8186df0..5bef346 100644 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt.meta +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/TestAsset04.asset.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: 7e8a69705e4f09c4baadc24f01c59d6c -TextScriptImporter: +guid: 1457561df45c47f46bafa0e09673a1af +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt deleted file mode 100644 index b08e327..0000000 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt +++ /dev/null @@ -1 +0,0 @@ -02 \ No newline at end of file diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt deleted file mode 100644 index 78f6277..0000000 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text04.txt +++ /dev/null @@ -1 +0,0 @@ -04 \ No newline at end of file diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset new file mode 100644 index 0000000..b61a989 --- /dev/null +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2fd2ba5cf501d149becb29e6e258529, type: 3} + m_Name: TestAsset03 + m_EditorClassIdentifier: + _label: 03 diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt.meta b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset.meta similarity index 52% rename from Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt.meta rename to Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset.meta index dc7d9fc..af3fc93 100644 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar01/Baz01/Text02.txt.meta +++ b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/TestAsset03.asset.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: 99cb4a804c66a9340a55960e3be56ffc -TextScriptImporter: +guid: 1c75d221464f0f043835cae7a4ea7110 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt b/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt deleted file mode 100644 index 680727a..0000000 --- a/Assets/Tests/LocalizationExtension/Editor/Resources/Foo02/Bar02/Text03.txt +++ /dev/null @@ -1 +0,0 @@ -03 \ No newline at end of file From 134c9f95280ded44b15ab80daeb725537f518ce3 Mon Sep 17 00:00:00 2001 From: tsgcpp Date: Sun, 21 Aug 2022 16:05:21 +0900 Subject: [PATCH 3/3] fix: Fix to get all collections from StringTableCollectionBundle --- .../StringTableCollectionBundleEditor.cs | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs index 5d59b35..9ad6cce 100644 --- a/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs +++ b/Assets/Plugins/LocalizationExtension/Editor/Google/StringTableCollection/StringTableCollectionBundleEditor.cs @@ -13,6 +13,10 @@ public sealed class StringTableCollectionBundleEditor : UnityEditor.Editor { private StringTableCollectionBundle Bundle => target as StringTableCollectionBundle; + private CacheListConverter _stringTableCollectionsConverter = null; + public CacheListConverter StringTableCollectionsConverter => + _stringTableCollectionsConverter ??= new CacheListConverter(actualConverter: new FolderToCollectionConverter(Bundle)); + public override void OnInspectorGUI() { DrawDefaultInspector(); @@ -60,9 +64,6 @@ private void DrawToolsWithServiceAccount() } private bool _showStringTableCollections = true; - private readonly CacheListConverter _stringTableCollectionsConverter = - new CacheListConverter( - actualConverter: new FolderToCollectionConverter()); private void DrawStringTableCollections() { @@ -80,7 +81,13 @@ private void DrawStringTableCollections() using var h = new EditorGUILayout.VerticalScope(GUI.skin.box); using var g = new EditorGUI.DisabledGroupScope(true); - var stringTableCollections = _stringTableCollectionsConverter.Convert(Bundle.TargetFolders); + var stringTableCollections = StringTableCollectionsConverter.Convert(Bundle.TargetFolders); + if (stringTableCollections.Count <= 0) + { + EditorGUILayout.LabelField("No \"StringTableCollection\"s."); + return; + } + foreach (var collection in stringTableCollections) { EditorGUILayout.ObjectField(collection, typeof(StringTableCollection), allowSceneObjects: false); @@ -136,9 +143,16 @@ private ServiceAccountSheetsServiceProvider CreateServiceAccountSheetsServicePro private sealed class FolderToCollectionConverter : IListConverter { + private readonly StringTableCollectionBundle _bundle; + + public FolderToCollectionConverter(StringTableCollectionBundle bundle) + { + _bundle = bundle; + } + public IReadOnlyList Convert(IReadOnlyList list) { - return AssetFinding.FindAssets(list); + return _bundle.StringTableCollections; } } }