From ea735e704cecbb6c500a5ccbea1200e43255381d Mon Sep 17 00:00:00 2001 From: NTG_DESKTOP Date: Mon, 26 May 2025 18:06:49 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=8B=9C=ED=8A=B8=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssetGroups/GoogleSheetSo_Group.asset | 14 +- Assets/Samples.meta | 8 ++ Assets/Samples/Addressables.meta | 8 ++ Assets/Samples/Addressables/2.4.6.meta | 8 ++ .../2.4.6/Addressables Utility.meta | 8 ++ .../AddressablesUtility.cs | 27 ++++ .../AddressablesUtility.cs.meta | 2 + Assets/_Datas/01.Scenes/SampleScene.unity | 4 +- .../GenerateGoogleSheet/AutoCreated.meta | 8 ++ .../AutoCreated/BackUps.meta | 8 ++ .../2025-05-26 18-01-31 by 남태건.json | 86 +++++++++++ .../2025-05-26 18-01-31 by 남태건.json.meta | 7 + .../2025-05-26 18-02-16 by 남태건.json | 86 +++++++++++ .../2025-05-26 18-02-16 by 남태건.json.meta | 7 + .../2025-05-26 18-03-12 by 남태건.json | 86 +++++++++++ .../2025-05-26 18-03-12 by 남태건.json.meta | 7 + .../2025-05-26 18-04-01 by 남태건.json | 86 +++++++++++ .../2025-05-26 18-04-01 by 남태건.json.meta | 7 + .../AutoCreated/EnumTypes.cs | 22 +++ .../AutoCreated/EnumTypes.cs.meta | 2 + .../GenerateGoogleSheet/AutoCreated/Food.cs | 39 +++++ .../AutoCreated/Food.cs.meta | 2 + .../GenerateGoogleSheet/AutoCreated/FoodSo.cs | 9 ++ .../AutoCreated/FoodSo.cs.meta | 2 + .../AutoCreated/GoogleSheetJson.json | 86 +++++++++++ .../AutoCreated/GoogleSheetJson.json.meta | 7 + .../GenerateGoogleSheet/AutoCreated/Logs.meta | 8 ++ .../Logs/GoogleSheetChangeLog.asset | 136 ++++++++++++++++++ .../Logs/GoogleSheetChangeLog.asset.meta | 8 ++ .../AutoCreated/Monster.cs | 19 +++ .../AutoCreated/Monster.cs.meta | 2 + .../AutoCreated/MonsterSo.cs | 9 ++ .../AutoCreated/MonsterSo.cs.meta | 2 + .../GenerateGoogleSheet/AutoCreated/So.meta | 8 ++ .../AutoCreated/So/FoodSo.asset | 47 ++++++ .../AutoCreated/So/FoodSo.asset.meta | 8 ++ .../AutoCreated/So/MonsterSo.asset | 27 ++++ .../AutoCreated/So/MonsterSo.asset.meta | 8 ++ .../Core/GoogldSheetManager.cs | 47 ++---- 39 files changed, 930 insertions(+), 35 deletions(-) create mode 100644 Assets/Samples.meta create mode 100644 Assets/Samples/Addressables.meta create mode 100644 Assets/Samples/Addressables/2.4.6.meta create mode 100644 Assets/Samples/Addressables/2.4.6/Addressables Utility.meta create mode 100644 Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs create mode 100644 Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset.meta create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset create mode 100644 Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset.meta diff --git a/Assets/AddressableAssetsData/AssetGroups/GoogleSheetSo_Group.asset b/Assets/AddressableAssetsData/AssetGroups/GoogleSheetSo_Group.asset index 029e354ab..dfae8ab31 100644 --- a/Assets/AddressableAssetsData/AssetGroups/GoogleSheetSo_Group.asset +++ b/Assets/AddressableAssetsData/AssetGroups/GoogleSheetSo_Group.asset @@ -14,7 +14,19 @@ MonoBehaviour: m_EditorClassIdentifier: m_GroupName: GoogleSheetSo_Group m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e - m_SerializeEntries: [] + m_SerializeEntries: + - m_GUID: 5fcfe5933281a534986204df8c5453fd + m_Address: MonsterSo + m_ReadOnly: 0 + m_SerializedLabels: + - GoogleSheetSo + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: b0149444f80f2a443a2d79a08fa2650e + m_Address: FoodSo + m_ReadOnly: 0 + m_SerializedLabels: + - GoogleSheetSo + FlaggedDuringContentUpdateRestriction: 0 m_ReadOnly: 0 m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2} m_SchemaSet: diff --git a/Assets/Samples.meta b/Assets/Samples.meta new file mode 100644 index 000000000..6489106eb --- /dev/null +++ b/Assets/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9004b957a3a41ed4f97b66f514b1ba5d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Addressables.meta b/Assets/Samples/Addressables.meta new file mode 100644 index 000000000..cab76e472 --- /dev/null +++ b/Assets/Samples/Addressables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ee7324fdbddf6744b29c194782f8fdd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Addressables/2.4.6.meta b/Assets/Samples/Addressables/2.4.6.meta new file mode 100644 index 000000000..d3b3b375f --- /dev/null +++ b/Assets/Samples/Addressables/2.4.6.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16e035702ce4acc4aa2eda3b8b554628 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Addressables/2.4.6/Addressables Utility.meta b/Assets/Samples/Addressables/2.4.6/Addressables Utility.meta new file mode 100644 index 000000000..6187be012 --- /dev/null +++ b/Assets/Samples/Addressables/2.4.6/Addressables Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76ed51abe1be4be45ac2a85ea28646e6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs b/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs new file mode 100644 index 000000000..2e0f4cbfb --- /dev/null +++ b/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs @@ -0,0 +1,27 @@ +using UnityEngine.AddressableAssets; + +/// +/// A utility class for various Addressables functionality +/// +public static class AddressablesUtility +{ + /// + /// Get the address of a given AssetReference. + /// + /// The AssetReference you want to find the address of. + /// The address of a given AssetReference. + public static string GetAddressFromAssetReference(AssetReference reference) + { + var loadResourceLocations = Addressables.LoadResourceLocationsAsync(reference); + var result = loadResourceLocations.WaitForCompletion(); + if (result.Count > 0) + { + string key = result[0].PrimaryKey; + loadResourceLocations.Release(); + return key; + } + + loadResourceLocations.Release(); + return string.Empty; + } +} diff --git a/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs.meta b/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs.meta new file mode 100644 index 000000000..4b9c86206 --- /dev/null +++ b/Assets/Samples/Addressables/2.4.6/Addressables Utility/AddressablesUtility.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2753974709f92de4fb4628ba24c77214 \ No newline at end of file diff --git a/Assets/_Datas/01.Scenes/SampleScene.unity b/Assets/_Datas/01.Scenes/SampleScene.unity index 4df27ead7..5e0da174d 100644 --- a/Assets/_Datas/01.Scenes/SampleScene.unity +++ b/Assets/_Datas/01.Scenes/SampleScene.unity @@ -290,10 +290,10 @@ MonoBehaviour: _googleSheetUrl: https://script.google.com/macros/s/AKfycbw8TRSl_OuY2S-RX0yvOJi1SqNqoflG0R3pWxk9GC9u_wvGQeuABZc0VH7YJ5lMrAl4/exec _availSheets: Food/Monster _generateFolderPath: /_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated - _currentVersion: "0 - 2025-05-13 19:23:45 by \uB0A8\uD0DC\uAC74" + _currentVersion: "3 - 2025-05-26 18:04:01 by \uB0A8\uD0DC\uAC74" _restoreIndex: 0 _editorName: - _refreshTrigger: 1 + _refreshTrigger: 0 --- !u!4 &383092898 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated.meta new file mode 100644 index 000000000..7813c2109 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff9891595d177594c801de6870920703 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps.meta new file mode 100644 index 000000000..9c2210c9d --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c16b1e3d70ae9f5448d679c76959f748 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json new file mode 100644 index 000000000..ea5bebb06 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json @@ -0,0 +1,86 @@ +{ + "$개요": [ + { + "": "시트 생성" + } + ], + "Food": [ + { + "Id:string": "식별ID", + "Name:string": "이름", + "Cookware_Enum": "요리도구", + "Ingredient1:string": "재료1", + "Ingredient2:string": "재료2", + "Taste1:Taste_Enum": "맛1", + "Taste2:Taste_Enum": "맛2", + "Sprite:Sprite": "Addressable 이미지 이름" + }, + { + "Id:string": "Food001", + "Name:string": "햇빛수프", + "Cookware_Enum": "Pot", + "Ingredient1:string": "극락쌀", + "Ingredient2:string": "햇빛당근", + "Taste1:Taste_Enum": "Bitter", + "Taste2:Taste_Enum": "Sweet", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food002", + "Name:string": "B", + "Cookware_Enum": "FryingPan", + "Ingredient1:string": 2, + "Ingredient2:string": 3, + "Taste1:Taste_Enum": "Spicy", + "Taste2:Taste_Enum": "Bitter", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food003", + "Name:string": "C", + "Cookware_Enum": "Pot", + "Ingredient1:string": 2, + "Ingredient2:string": 3, + "Taste1:Taste_Enum": "Fresh", + "Taste2:Taste_Enum": "None", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food004", + "Name:string": "D", + "Cookware_Enum": "Plating", + "Ingredient1:string": 2, + "Ingredient2:string": 3, + "Taste1:Taste_Enum": "Sour", + "Taste2:Taste_Enum": "Salty", + "Sprite:Sprite": "" + } + ], + "Monster": [ + { + "Id": "식별번호", + "Name": "이름", + "T1": "테스트1" + }, + { + "Id": "Test001", + "Name": "A", + "T1": 1 + }, + { + "Id": "Test002", + "Name": "B", + "T1": 2 + }, + { + "Id": "Test003", + "Name": "C", + "T1": 3 + }, + { + "Id": "Test004", + "Name": "D", + "T1": 4 + } + ] +} \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json.meta new file mode 100644 index 000000000..1f5eb17c4 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-01-31 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f9da5eb0bf290c4d8efc2cd876eb004 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json new file mode 100644 index 000000000..5190304c3 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json @@ -0,0 +1,86 @@ +{ + "$개요": [ + { + "": "시트 생성" + } + ], + "Food": [ + { + "Id:string": "식별ID", + "Name:string": "이름", + "Cookware_Enum": "요리도구", + "Ingredient1:string": "재료1", + "Ingredient2:string": "재료2", + "Taste1:Taste_Enum": "맛1", + "Taste2:Taste_Enum": "맛2", + "Sprite:Sprite": "Addressable 이미지 이름" + }, + { + "Id:string": "Food001", + "Name:string": "햇빛수프", + "Cookware_Enum": "Pot", + "Ingredient1:string": "극락쌀", + "Ingredient2:string": "햇빛당근", + "Taste1:Taste_Enum": "Bitter", + "Taste2:Taste_Enum": "Sweet", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food002", + "Name:string": "B", + "Cookware_Enum": "FryingPan", + "Ingredient1:string": 1, + "Ingredient2:string": 4, + "Taste1:Taste_Enum": "Spicy", + "Taste2:Taste_Enum": "Bitter", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food003", + "Name:string": "C", + "Cookware_Enum": "Pot", + "Ingredient1:string": 2, + "Ingredient2:string": 5, + "Taste1:Taste_Enum": "Fresh", + "Taste2:Taste_Enum": "None", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food004", + "Name:string": "D", + "Cookware_Enum": "Plating", + "Ingredient1:string": 3, + "Ingredient2:string": 6, + "Taste1:Taste_Enum": "Sour", + "Taste2:Taste_Enum": "Salty", + "Sprite:Sprite": "" + } + ], + "Monster": [ + { + "Id": "식별번호", + "Name": "이름", + "T1": "테스트1" + }, + { + "Id": "Test001", + "Name": "A", + "T1": 1 + }, + { + "Id": "Test002", + "Name": "B", + "T1": 2 + }, + { + "Id": "Test003", + "Name": "C", + "T1": 3 + }, + { + "Id": "Test004", + "Name": "D", + "T1": 4 + } + ] +} \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json.meta new file mode 100644 index 000000000..b48c3e9f4 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-02-16 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 745f95162f70f8749a0653af54dfc2a1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json new file mode 100644 index 000000000..3199d20a0 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json @@ -0,0 +1,86 @@ +{ + "$개요": [ + { + "": "시트 생성" + } + ], + "Food": [ + { + "Id:string": "식별ID", + "Name:string": "이름", + "Cookware_Enum": "요리도구", + "Ingredient1:string": "재료1", + "Ingredient2:string": "재료2", + "Taste1:Taste_Enum": "맛1", + "Taste2:Taste_Enum": "맛2", + "Sprite:Sprite": "Addressable 이미지 이름" + }, + { + "Id:string": "Food001", + "Name:string": "햇빛수프", + "Cookware_Enum": "Pot", + "Ingredient1:string": "극락쌀", + "Ingredient2:string": "햇빛당근", + "Taste1:Taste_Enum": "Bitter", + "Taste2:Taste_Enum": "Sweet", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food002", + "Name:string": "B", + "Cookware_Enum": "FryingPan", + "Ingredient1:string": 1, + "Ingredient2:string": 4, + "Taste1:Taste_Enum": "Spicy", + "Taste2:Taste_Enum": "Bitter", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food003", + "Name:string": "C", + "Cookware_Enum": "Pot", + "Ingredient1:string": 2, + "Ingredient2:string": 5, + "Taste1:Taste_Enum": "Fresh", + "Taste2:Taste_Enum": "None", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food004", + "Name:string": "D", + "Cookware_Enum": "Plating", + "Ingredient1:string": 3, + "Ingredient2:string": 6, + "Taste1:Taste_Enum": "Sour", + "Taste2:Taste_Enum": "Salty", + "Sprite:Sprite": "Gold" + } + ], + "Monster": [ + { + "Id": "식별번호", + "Name": "이름", + "T1": "테스트1" + }, + { + "Id": "Test001", + "Name": "A", + "T1": 1 + }, + { + "Id": "Test002", + "Name": "B", + "T1": 2 + }, + { + "Id": "Test003", + "Name": "C", + "T1": 3 + }, + { + "Id": "Test004", + "Name": "D", + "T1": 4 + } + ] +} \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json.meta new file mode 100644 index 000000000..062d88ac1 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-03-12 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5a03fd979fde4c34491e1be90d5011aa +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json new file mode 100644 index 000000000..488fb72cb --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json @@ -0,0 +1,86 @@ +{ + "$개요": [ + { + "": "시트 생성" + } + ], + "Food": [ + { + "Id:string": "식별ID", + "Name:string": "이름", + "Cookware_Enum": "요리도구", + "Ingredient1:string": "재료1", + "Ingredient2:string": "재료2", + "Taste1:Taste_Enum": "맛1", + "Taste2:Taste_Enum": "맛2", + "Sprite:Sprite": "Addressable 이미지 이름" + }, + { + "Id:string": "Food001", + "Name:string": "햇빛수프", + "Cookware_Enum": "Pot", + "Ingredient1:string": "극락쌀", + "Ingredient2:string": "햇빛당근", + "Taste1:Taste_Enum": "Bitter", + "Taste2:Taste_Enum": "Sweet", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food002", + "Name:string": "B", + "Cookware_Enum": "FryingPan", + "Ingredient1:string": 1, + "Ingredient2:string": 4, + "Taste1:Taste_Enum": "Spicy", + "Taste2:Taste_Enum": "Bitter", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food003", + "Name:string": "C", + "Cookware_Enum": "Pot", + "Ingredient1:string": 2, + "Ingredient2:string": 5, + "Taste1:Taste_Enum": "Fresh", + "Taste2:Taste_Enum": "None", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food004", + "Name:string": "D", + "Cookware_Enum": "Plating", + "Ingredient1:string": 3, + "Ingredient2:string": 6, + "Taste1:Taste_Enum": "Sour", + "Taste2:Taste_Enum": "Salty", + "Sprite:Sprite": "Gold" + } + ], + "Monster": [ + { + "Id": "식별번호", + "Name": "이름", + "T1": "테스트1" + }, + { + "Id": "Test001", + "Name": "A", + "T1": 1 + }, + { + "Id": "Test002", + "Name": "B", + "T1": 2 + }, + { + "Id": "Test003", + "Name": "C", + "T1": 3 + }, + { + "Id": "Test004", + "Name": "D", + "T1": 4 + } + ] +} \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json.meta new file mode 100644 index 000000000..e4c34e3f9 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-05-26 18-04-01 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 74bab0ebe89de4a43bb5ec3337018a64 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs new file mode 100644 index 000000000..340b2a7ae --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs @@ -0,0 +1,22 @@ +// +using System; + +public enum Cookware +{ + None = 0, + Pot = 1, + FryingPan = 2, + Plating = 3, +} + +public enum Taste +{ + None = 0, + Bitter = 1, + Sweet = 2, + Spicy = 3, + Fresh = 4, + Sour = 5, + Salty = 6, +} + diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs.meta new file mode 100644 index 000000000..88a3eeab6 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0305cac2c4248c647b1dfd15b2df4b9b \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs new file mode 100644 index 000000000..5ff09fd6c --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs @@ -0,0 +1,39 @@ +// +using System; +using UnityEngine; +[Serializable] +public class Food +{ + /// 식별ID + [Tooltip("식별ID")] + public string Id; + + /// 이름 + [Tooltip("이름")] + public string Name; + + /// 요리도구 + [Tooltip("요리도구")] + public Cookware Cookware; + + /// 재료1 + [Tooltip("재료1")] + public string Ingredient1; + + /// 재료2 + [Tooltip("재료2")] + public string Ingredient2; + + /// 맛1 + [Tooltip("맛1")] + public Taste Taste1; + + /// 맛2 + [Tooltip("맛2")] + public Taste Taste2; + + /// Addressable 이미지 이름 + [Tooltip("Addressable 이미지 이름")] + public Sprite Sprite; + +} diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs.meta new file mode 100644 index 000000000..c5d61d8c3 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Food.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc52e6123ac9d4e4dba393cf959823f2 \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs new file mode 100644 index 000000000..c1514e46d --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs @@ -0,0 +1,9 @@ +// File: FoodSo.cs +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(fileName = "FoodSo", menuName = "GoogleSheet/FoodSo")] +public class FoodSo : ScriptableObject +{ + public List FoodList; +} diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs.meta new file mode 100644 index 000000000..19008b34e --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/FoodSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ffda527566a5cd9469dd6a7f2cd953bb \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json new file mode 100644 index 000000000..488fb72cb --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json @@ -0,0 +1,86 @@ +{ + "$개요": [ + { + "": "시트 생성" + } + ], + "Food": [ + { + "Id:string": "식별ID", + "Name:string": "이름", + "Cookware_Enum": "요리도구", + "Ingredient1:string": "재료1", + "Ingredient2:string": "재료2", + "Taste1:Taste_Enum": "맛1", + "Taste2:Taste_Enum": "맛2", + "Sprite:Sprite": "Addressable 이미지 이름" + }, + { + "Id:string": "Food001", + "Name:string": "햇빛수프", + "Cookware_Enum": "Pot", + "Ingredient1:string": "극락쌀", + "Ingredient2:string": "햇빛당근", + "Taste1:Taste_Enum": "Bitter", + "Taste2:Taste_Enum": "Sweet", + "Sprite:Sprite": "Gold" + }, + { + "Id:string": "Food002", + "Name:string": "B", + "Cookware_Enum": "FryingPan", + "Ingredient1:string": 1, + "Ingredient2:string": 4, + "Taste1:Taste_Enum": "Spicy", + "Taste2:Taste_Enum": "Bitter", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food003", + "Name:string": "C", + "Cookware_Enum": "Pot", + "Ingredient1:string": 2, + "Ingredient2:string": 5, + "Taste1:Taste_Enum": "Fresh", + "Taste2:Taste_Enum": "None", + "Sprite:Sprite": "" + }, + { + "Id:string": "Food004", + "Name:string": "D", + "Cookware_Enum": "Plating", + "Ingredient1:string": 3, + "Ingredient2:string": 6, + "Taste1:Taste_Enum": "Sour", + "Taste2:Taste_Enum": "Salty", + "Sprite:Sprite": "Gold" + } + ], + "Monster": [ + { + "Id": "식별번호", + "Name": "이름", + "T1": "테스트1" + }, + { + "Id": "Test001", + "Name": "A", + "T1": 1 + }, + { + "Id": "Test002", + "Name": "B", + "T1": 2 + }, + { + "Id": "Test003", + "Name": "C", + "T1": 3 + }, + { + "Id": "Test004", + "Name": "D", + "T1": 4 + } + ] +} \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json.meta new file mode 100644 index 000000000..09593eecf --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d3673b70625a93f42bc4a69f80841068 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs.meta new file mode 100644 index 000000000..3616690d3 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e74bfad8d2ebfd54582b743528289c6d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset new file mode 100644 index 000000000..1b43b9fab --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset @@ -0,0 +1,136 @@ +%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: 47d33f999b3dd2f44a64b3c7b6262376, type: 3} + m_Name: GoogleSheetChangeLog + m_EditorClassIdentifier: + _logs: + - Editor: "\uB0A8\uD0DC\uAC74" + Timestamp: 2025-05-26 18:01:31 + JsonSnapshot: "{\n \"$\uAC1C\uC694\": [\n {\n \"\": \"\uC2DC\uD2B8 \uC0DD\uC131\"\n + }\n ],\n \"Food\": [\n {\n \"Id:string\": \"\uC2DD\uBCC4ID\",\n + \"Name:string\": \"\uC774\uB984\",\n \"Cookware_Enum\": \"\uC694\uB9AC\uB3C4\uAD6C\",\n + \"Ingredient1:string\": \"\uC7AC\uB8CC1\",\n \"Ingredient2:string\": \"\uC7AC\uB8CC2\",\n + \"Taste1:Taste_Enum\": \"\uB9DB1\",\n \"Taste2:Taste_Enum\": \"\uB9DB2\",\n + \"Sprite:Sprite\": \"Addressable \uC774\uBBF8\uC9C0 \uC774\uB984\"\n },\n + {\n \"Id:string\": \"Food001\",\n \"Name:string\": \"\uD587\uBE5B\uC218\uD504\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": \"\uADF9\uB77D\uC300\",\n + \"Ingredient2:string\": \"\uD587\uBE5B\uB2F9\uADFC\",\n \"Taste1:Taste_Enum\": + \"Bitter\",\n \"Taste2:Taste_Enum\": \"Sweet\",\n \"Sprite:Sprite\": + \"Gold\"\n },\n {\n \"Id:string\": \"Food002\",\n \"Name:string\": + \"B\",\n \"Cookware_Enum\": \"FryingPan\",\n \"Ingredient1:string\": + 2,\n \"Ingredient2:string\": 3,\n \"Taste1:Taste_Enum\": \"Spicy\",\n + \"Taste2:Taste_Enum\": \"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n + {\n \"Id:string\": \"Food003\",\n \"Name:string\": \"C\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\": + 3,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n + \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n + \"Name:string\": \"D\",\n \"Cookware_Enum\": \"Plating\",\n \"Ingredient1:string\": + 2,\n \"Ingredient2:string\": 3,\n \"Taste1:Taste_Enum\": \"Sour\",\n + \"Taste2:Taste_Enum\": \"Salty\",\n \"Sprite:Sprite\": \"\"\n }\n + ],\n \"Monster\": [\n {\n \"Id\": \"\uC2DD\uBCC4\uBC88\uD638\",\n + \"Name\": \"\uC774\uB984\",\n \"T1\": \"\uD14C\uC2A4\uD2B81\"\n },\n + {\n \"Id\": \"Test001\",\n \"Name\": \"A\",\n \"T1\": 1\n + },\n {\n \"Id\": \"Test002\",\n \"Name\": \"B\",\n \"T1\": + 2\n },\n {\n \"Id\": \"Test003\",\n \"Name\": \"C\",\n + \"T1\": 3\n },\n {\n \"Id\": \"Test004\",\n \"Name\": \"D\",\n + \"T1\": 4\n }\n ]\n}" + - Editor: "\uB0A8\uD0DC\uAC74" + Timestamp: 2025-05-26 18:02:16 + JsonSnapshot: "{\n \"$\uAC1C\uC694\": [\n {\n \"\": \"\uC2DC\uD2B8 \uC0DD\uC131\"\n + }\n ],\n \"Food\": [\n {\n \"Id:string\": \"\uC2DD\uBCC4ID\",\n + \"Name:string\": \"\uC774\uB984\",\n \"Cookware_Enum\": \"\uC694\uB9AC\uB3C4\uAD6C\",\n + \"Ingredient1:string\": \"\uC7AC\uB8CC1\",\n \"Ingredient2:string\": \"\uC7AC\uB8CC2\",\n + \"Taste1:Taste_Enum\": \"\uB9DB1\",\n \"Taste2:Taste_Enum\": \"\uB9DB2\",\n + \"Sprite:Sprite\": \"Addressable \uC774\uBBF8\uC9C0 \uC774\uB984\"\n },\n + {\n \"Id:string\": \"Food001\",\n \"Name:string\": \"\uD587\uBE5B\uC218\uD504\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": \"\uADF9\uB77D\uC300\",\n + \"Ingredient2:string\": \"\uD587\uBE5B\uB2F9\uADFC\",\n \"Taste1:Taste_Enum\": + \"Bitter\",\n \"Taste2:Taste_Enum\": \"Sweet\",\n \"Sprite:Sprite\": + \"Gold\"\n },\n {\n \"Id:string\": \"Food002\",\n \"Name:string\": + \"B\",\n \"Cookware_Enum\": \"FryingPan\",\n \"Ingredient1:string\": + 1,\n \"Ingredient2:string\": 4,\n \"Taste1:Taste_Enum\": \"Spicy\",\n + \"Taste2:Taste_Enum\": \"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n + {\n \"Id:string\": \"Food003\",\n \"Name:string\": \"C\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\": + 5,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n + \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n + \"Name:string\": \"D\",\n \"Cookware_Enum\": \"Plating\",\n \"Ingredient1:string\": + 3,\n \"Ingredient2:string\": 6,\n \"Taste1:Taste_Enum\": \"Sour\",\n + \"Taste2:Taste_Enum\": \"Salty\",\n \"Sprite:Sprite\": \"\"\n }\n + ],\n \"Monster\": [\n {\n \"Id\": \"\uC2DD\uBCC4\uBC88\uD638\",\n + \"Name\": \"\uC774\uB984\",\n \"T1\": \"\uD14C\uC2A4\uD2B81\"\n },\n + {\n \"Id\": \"Test001\",\n \"Name\": \"A\",\n \"T1\": 1\n + },\n {\n \"Id\": \"Test002\",\n \"Name\": \"B\",\n \"T1\": + 2\n },\n {\n \"Id\": \"Test003\",\n \"Name\": \"C\",\n + \"T1\": 3\n },\n {\n \"Id\": \"Test004\",\n \"Name\": \"D\",\n + \"T1\": 4\n }\n ]\n}" + - Editor: "\uB0A8\uD0DC\uAC74" + Timestamp: 2025-05-26 18:03:12 + JsonSnapshot: "{\n \"$\uAC1C\uC694\": [\n {\n \"\": \"\uC2DC\uD2B8 \uC0DD\uC131\"\n + }\n ],\n \"Food\": [\n {\n \"Id:string\": \"\uC2DD\uBCC4ID\",\n + \"Name:string\": \"\uC774\uB984\",\n \"Cookware_Enum\": \"\uC694\uB9AC\uB3C4\uAD6C\",\n + \"Ingredient1:string\": \"\uC7AC\uB8CC1\",\n \"Ingredient2:string\": \"\uC7AC\uB8CC2\",\n + \"Taste1:Taste_Enum\": \"\uB9DB1\",\n \"Taste2:Taste_Enum\": \"\uB9DB2\",\n + \"Sprite:Sprite\": \"Addressable \uC774\uBBF8\uC9C0 \uC774\uB984\"\n },\n + {\n \"Id:string\": \"Food001\",\n \"Name:string\": \"\uD587\uBE5B\uC218\uD504\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": \"\uADF9\uB77D\uC300\",\n + \"Ingredient2:string\": \"\uD587\uBE5B\uB2F9\uADFC\",\n \"Taste1:Taste_Enum\": + \"Bitter\",\n \"Taste2:Taste_Enum\": \"Sweet\",\n \"Sprite:Sprite\": + \"Gold\"\n },\n {\n \"Id:string\": \"Food002\",\n \"Name:string\": + \"B\",\n \"Cookware_Enum\": \"FryingPan\",\n \"Ingredient1:string\": + 1,\n \"Ingredient2:string\": 4,\n \"Taste1:Taste_Enum\": \"Spicy\",\n + \"Taste2:Taste_Enum\": \"Bitter\",\n \"Sprite:Sprite\": \"Gold\"\n + },\n {\n \"Id:string\": \"Food003\",\n \"Name:string\": \"C\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\": + 5,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n + \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n + \"Name:string\": \"D\",\n \"Cookware_Enum\": \"Plating\",\n \"Ingredient1:string\": + 3,\n \"Ingredient2:string\": 6,\n \"Taste1:Taste_Enum\": \"Sour\",\n + \"Taste2:Taste_Enum\": \"Salty\",\n \"Sprite:Sprite\": \"Gold\"\n }\n + ],\n \"Monster\": [\n {\n \"Id\": \"\uC2DD\uBCC4\uBC88\uD638\",\n + \"Name\": \"\uC774\uB984\",\n \"T1\": \"\uD14C\uC2A4\uD2B81\"\n },\n + {\n \"Id\": \"Test001\",\n \"Name\": \"A\",\n \"T1\": 1\n + },\n {\n \"Id\": \"Test002\",\n \"Name\": \"B\",\n \"T1\": + 2\n },\n {\n \"Id\": \"Test003\",\n \"Name\": \"C\",\n + \"T1\": 3\n },\n {\n \"Id\": \"Test004\",\n \"Name\": \"D\",\n + \"T1\": 4\n }\n ]\n}" + - Editor: "\uB0A8\uD0DC\uAC74" + Timestamp: 2025-05-26 18:04:01 + JsonSnapshot: "{\n \"$\uAC1C\uC694\": [\n {\n \"\": \"\uC2DC\uD2B8 \uC0DD\uC131\"\n + }\n ],\n \"Food\": [\n {\n \"Id:string\": \"\uC2DD\uBCC4ID\",\n + \"Name:string\": \"\uC774\uB984\",\n \"Cookware_Enum\": \"\uC694\uB9AC\uB3C4\uAD6C\",\n + \"Ingredient1:string\": \"\uC7AC\uB8CC1\",\n \"Ingredient2:string\": \"\uC7AC\uB8CC2\",\n + \"Taste1:Taste_Enum\": \"\uB9DB1\",\n \"Taste2:Taste_Enum\": \"\uB9DB2\",\n + \"Sprite:Sprite\": \"Addressable \uC774\uBBF8\uC9C0 \uC774\uB984\"\n },\n + {\n \"Id:string\": \"Food001\",\n \"Name:string\": \"\uD587\uBE5B\uC218\uD504\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": \"\uADF9\uB77D\uC300\",\n + \"Ingredient2:string\": \"\uD587\uBE5B\uB2F9\uADFC\",\n \"Taste1:Taste_Enum\": + \"Bitter\",\n \"Taste2:Taste_Enum\": \"Sweet\",\n \"Sprite:Sprite\": + \"Gold\"\n },\n {\n \"Id:string\": \"Food002\",\n \"Name:string\": + \"B\",\n \"Cookware_Enum\": \"FryingPan\",\n \"Ingredient1:string\": + 1,\n \"Ingredient2:string\": 4,\n \"Taste1:Taste_Enum\": \"Spicy\",\n + \"Taste2:Taste_Enum\": \"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n + {\n \"Id:string\": \"Food003\",\n \"Name:string\": \"C\",\n + \"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\": + 5,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n + \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n + \"Name:string\": \"D\",\n \"Cookware_Enum\": \"Plating\",\n \"Ingredient1:string\": + 3,\n \"Ingredient2:string\": 6,\n \"Taste1:Taste_Enum\": \"Sour\",\n + \"Taste2:Taste_Enum\": \"Salty\",\n \"Sprite:Sprite\": \"Gold\"\n }\n + ],\n \"Monster\": [\n {\n \"Id\": \"\uC2DD\uBCC4\uBC88\uD638\",\n + \"Name\": \"\uC774\uB984\",\n \"T1\": \"\uD14C\uC2A4\uD2B81\"\n },\n + {\n \"Id\": \"Test001\",\n \"Name\": \"A\",\n \"T1\": 1\n + },\n {\n \"Id\": \"Test002\",\n \"Name\": \"B\",\n \"T1\": + 2\n },\n {\n \"Id\": \"Test003\",\n \"Name\": \"C\",\n + \"T1\": 3\n },\n {\n \"Id\": \"Test004\",\n \"Name\": \"D\",\n + \"T1\": 4\n }\n ]\n}" + MaxLogs: 100 diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset.meta new file mode 100644 index 000000000..003acd503 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2d9c50ebe901154898d341b0f4d5fc7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs new file mode 100644 index 000000000..3d8bc50e1 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs @@ -0,0 +1,19 @@ +// +using System; +using UnityEngine; +[Serializable] +public class Monster +{ + /// 식별번호 + [Tooltip("식별번호")] + public string Id; + + /// 이름 + [Tooltip("이름")] + public string Name; + + /// 테스트1 + [Tooltip("테스트1")] + public int T1; + +} diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs.meta new file mode 100644 index 000000000..bb07efdf8 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/Monster.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3f5317d10c3a45e4093c32d9b1d436bf \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs new file mode 100644 index 000000000..ad0fc9c4a --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs @@ -0,0 +1,9 @@ +// File: MonsterSo.cs +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(fileName = "MonsterSo", menuName = "GoogleSheet/MonsterSo")] +public class MonsterSo : ScriptableObject +{ + public List MonsterList; +} diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs.meta new file mode 100644 index 000000000..b9df3d5e5 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/MonsterSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cb106eb1727eb104298694c0e0de12f2 \ No newline at end of file diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So.meta new file mode 100644 index 000000000..739ceb479 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84c488a1a40c90140ae7d4b6416411b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset new file mode 100644 index 000000000..a98349f8b --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset @@ -0,0 +1,47 @@ +%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: ffda527566a5cd9469dd6a7f2cd953bb, type: 3} + m_Name: FoodSo + m_EditorClassIdentifier: + FoodList: + - Id: Food001 + Name: "\uD587\uBE5B\uC218\uD504" + Cookware: 1 + Ingredient1: "\uADF9\uB77D\uC300" + Ingredient2: "\uD587\uBE5B\uB2F9\uADFC" + Taste1: 1 + Taste2: 2 + Sprite: {fileID: 21300000, guid: e15933f76da90e742866563b5cd9e45f, type: 3} + - Id: Food002 + Name: B + Cookware: 2 + Ingredient1: 1 + Ingredient2: 4 + Taste1: 3 + Taste2: 1 + Sprite: {fileID: 0} + - Id: Food003 + Name: C + Cookware: 1 + Ingredient1: 2 + Ingredient2: 5 + Taste1: 4 + Taste2: 0 + Sprite: {fileID: 0} + - Id: Food004 + Name: D + Cookware: 3 + Ingredient1: 3 + Ingredient2: 6 + Taste1: 5 + Taste2: 6 + Sprite: {fileID: 21300000, guid: e15933f76da90e742866563b5cd9e45f, type: 3} diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset.meta new file mode 100644 index 000000000..a44699324 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/FoodSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0149444f80f2a443a2d79a08fa2650e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset new file mode 100644 index 000000000..186142b9d --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset @@ -0,0 +1,27 @@ +%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: cb106eb1727eb104298694c0e0de12f2, type: 3} + m_Name: MonsterSo + m_EditorClassIdentifier: + MonsterList: + - Id: Test001 + Name: A + T1: 1 + - Id: Test002 + Name: B + T1: 2 + - Id: Test003 + Name: C + T1: 3 + - Id: Test004 + Name: D + T1: 4 diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset.meta b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset.meta new file mode 100644 index 000000000..6de141483 --- /dev/null +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated/So/MonsterSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fcfe5933281a534986204df8c5453fd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/Core/GoogldSheetManager.cs b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/Core/GoogldSheetManager.cs index d5f26b03d..b5f90420b 100644 --- a/Assets/_Datas/02.Scripts/GenerateGoogleSheet/Core/GoogldSheetManager.cs +++ b/Assets/_Datas/02.Scripts/GenerateGoogleSheet/Core/GoogldSheetManager.cs @@ -126,7 +126,7 @@ private async Task FetchGoogleSheet() return; } - if (isJsonSaved) + if (diffs.Count > 0 || isJsonSaved) { _refreshTrigger = true; SaveChangeLog(_json); @@ -540,6 +540,14 @@ private async Task CreateGoogleSheetSoAsync() { _isCreatingSo = false; } + +#if UNITY_EDITOR + if (result) // 성공적으로 SO 생성된 경우에만 빌드 수행 + { + Debug.Log("[GoogleSheetManager] Addressables BuildPlayerContent 실행"); + UnityEditor.AddressableAssets.Settings.AddressableAssetSettings.BuildPlayerContent(); + } +#endif return result; } @@ -703,6 +711,12 @@ private async Task InternalCreateGoogleSheetSoAsync() if (listField != null) { + object existingListObj = listField.GetValue(soInstance); + if (existingListObj is IList existingList) + { + existingList.Clear(); // ✅ 기존 리스트를 완전히 비움 + } + listField.SetValue(soInstance, list); EditorUtility.SetDirty(soInstance); } @@ -772,37 +786,6 @@ private async Task DelayAndCreateSo() } } - [BoxGroup("데이터 변경")] - [Button("런타임 중 데이터 재적용")] - public void ReloadRuntimeData() - { - StartCoroutine(ReloadRoutine()); - } - - private IEnumerator ReloadRoutine() - { - _availSheetArray = _availSheets.Split('/'); - - if (_isAccessGoogleSheet) - { - var task = LoadDataGoogleSheet(_googleSheetUrl); - yield return new WaitUntil(() => task.IsCompleted); - _json = task.Result; - } - else - { - _json = LoadDataLocalJson(); - } - - if (!string.IsNullOrEmpty(_json)) - { - var soTask = CreateGoogleSheetSoAsync(); - yield return new WaitUntil(() => soTask.IsCompleted); - - Debug.Log("런타임 데이터 재적용 완료"); - } - } - public async Task CreateSoAfterScriptReload() { if (_json != null)