구글 시트 기능 수정

This commit is contained in:
NTG_Lenovo 2025-06-11 14:52:09 +09:00
parent cf2042276c
commit 4e1ccec596
40 changed files with 43 additions and 531 deletions

View File

@ -15,7 +15,7 @@ MonoBehaviour:
m_DefaultGroup: 30e7f67fe9aaa7849a34c9b6e2bc53ae
m_currentHash:
serializedVersion: 2
Hash: 63a332992e06a0880cdfbfeead55b759
Hash: 00000000000000000000000000000000
m_OptimizeCatalogSize: 0
m_BuildRemoteCatalog: 1
m_CatalogRequestsTimeout: 0

View File

@ -15,14 +15,14 @@ MonoBehaviour:
m_GroupName: GoogleSheetSo_Group
m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e
m_SerializeEntries:
- m_GUID: 5fcfe5933281a534986204df8c5453fd
m_Address: MonsterSo
- m_GUID: 364b51c69a98a334e8a64fb378a87dea
m_Address: FoodSo
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSo
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b0149444f80f2a443a2d79a08fa2650e
m_Address: FoodSo
- m_GUID: 6e22365847202cd42978093a2b420135
m_Address: MonsterSo
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSo

View File

@ -290,7 +290,7 @@ MonoBehaviour:
_googleSheetUrl: https://script.google.com/macros/s/AKfycbw8TRSl_OuY2S-RX0yvOJi1SqNqoflG0R3pWxk9GC9u_wvGQeuABZc0VH7YJ5lMrAl4/exec
_availSheets: Food/Monster
_generateFolderPath: /_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated
_currentVersion: "4 - 2025-05-30 14:53:34 by \uB0A8\uD0DC\uAC74"
_currentVersion: "0 - 2025-06-11 14:50:56 by \uB0A8\uD0DC\uAC74"
_restoreIndex: 0
_editorName:
_refreshTrigger: 0

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ff9891595d177594c801de6870920703
guid: b08735de6fa10f04cb3ed2b468f643a8
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c16b1e3d70ae9f5448d679c76959f748
guid: f54b898e12310cc46b3f54b221443457
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,86 +0,0 @@
{
"$개요": [
{
"": "시트 생성"
}
],
"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
}
]
}

View File

@ -1,86 +0,0 @@
{
"$개요": [
{
"": "시트 생성"
}
],
"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
}
]
}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 745f95162f70f8749a0653af54dfc2a1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,86 +0,0 @@
{
"$개요": [
{
"": "시트 생성"
}
],
"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
}
]
}

View File

@ -1,86 +0,0 @@
{
"$개요": [
{
"": "시트 생성"
}
],
"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
}
]
}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 74bab0ebe89de4a43bb5ec3337018a64
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: dbc0f7f5f503a5f44bd527f5697ecea2
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5a03fd979fde4c34491e1be90d5011aa
guid: 1e7e04ed247b61846b3f6e4289590e2a
TextScriptImporter:
externalObjects: {}
userData:

View File

@ -1,6 +1,7 @@
fileFormatVersion: 2
guid: 6f9da5eb0bf290c4d8efc2cd876eb004
TextScriptImporter:
guid: 9ffbcd7f689c7cf4ba2de02ba49e07f2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 814b474d2e6fe8842ac33070aea9e4f1

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b5478aa41b87d9d4884cd90e79797927

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b35f0d230750e024683ee7d00983884c

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 92273e6c1df22a947b0f82b38374eef6

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: 0305cac2c4248c647b1dfd15b2df4b9b
guid: d9a6fefe198556045aaa566096d1e3a8

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: bc52e6123ac9d4e4dba393cf959823f2

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: ffda527566a5cd9469dd6a7f2cd953bb

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d3673b70625a93f42bc4a69f80841068
guid: d8db8bbd19c57d24bbbe1fa57e645b0a
TextScriptImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e74bfad8d2ebfd54582b743528289c6d
guid: a8b41209f15ce744385e03c59b464e17
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -14,127 +14,7 @@ MonoBehaviour:
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}"
- Editor: "\uB0A8\uD0DC\uAC74"
Timestamp: 2025-05-30 14:53:34
Timestamp: 2025-06-11 14:50:56
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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c2d9c50ebe901154898d341b0f4d5fc7
guid: 687f7f52bb7ac3e4fad3ba48439a29ac
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 3f5317d10c3a45e4093c32d9b1d436bf

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: cb106eb1727eb104298694c0e0de12f2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 84c488a1a40c90140ae7d4b6416411b7
guid: 99d65a0af712fd646b80a5eec3113b50
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -9,7 +9,7 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffda527566a5cd9469dd6a7f2cd953bb, type: 3}
m_Script: {fileID: 11500000, guid: b5478aa41b87d9d4884cd90e79797927, type: 3}
m_Name: FoodSo
m_EditorClassIdentifier:
FoodList:
@ -20,7 +20,7 @@ MonoBehaviour:
Ingredient2: "\uD587\uBE5B\uB2F9\uADFC"
Taste1: 1
Taste2: 2
Sprite: {fileID: 21300000, guid: e15933f76da90e742866563b5cd9e45f, type: 3}
Sprite: {fileID: -3766852031887921369, guid: 00000000000000000000000000000000, type: 0}
- Id: Food002
Name: B
Cookware: 2
@ -44,4 +44,4 @@ MonoBehaviour:
Ingredient2: 3
Taste1: 5
Taste2: 6
Sprite: {fileID: 21300000, guid: e15933f76da90e742866563b5cd9e45f, type: 3}
Sprite: {fileID: -3766852031887921369, guid: 00000000000000000000000000000000, type: 0}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b0149444f80f2a443a2d79a08fa2650e
guid: 364b51c69a98a334e8a64fb378a87dea
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -9,7 +9,7 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cb106eb1727eb104298694c0e0de12f2, type: 3}
m_Script: {fileID: 11500000, guid: 92273e6c1df22a947b0f82b38374eef6, type: 3}
m_Name: MonsterSo
m_EditorClassIdentifier:
MonsterList:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5fcfe5933281a534986204df8c5453fd
guid: 6e22365847202cd42978093a2b420135
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -52,6 +52,7 @@ public class GoogleSheetManager : Singleton<GoogleSheetManager>
private string JsonFullPath => $"{BaseFullPath}/GoogleSheetJson.json";
private string ChangeLogAssetPath => $"{BaseAssetPath}/Logs/GoogleSheetChangeLog.asset";
private string BackupFullPath => $"{BaseFullPath}/BackUps";
private string ClassedFullPath => $"{BaseAssetPath}/Classes";
private string[] _availSheetArray;
private string _json;
@ -341,7 +342,6 @@ private bool IsValidGoogleSheetUrl(string url)
private void GenerateClassFilesPerSheet(string jsonInput)
{
JObject jsonObject = JObject.Parse(jsonInput);
string basePath = $"Assets{_generateFolderPath}";
Dictionary<string, HashSet<string>> enumCandidates = new();
@ -398,8 +398,14 @@ private void GenerateClassFilesPerSheet(string jsonInput)
enumCode.AppendLine("}\n");
}
File.WriteAllText($"{basePath}/EnumTypes.cs", enumCode.ToString());
AssetDatabase.ImportAsset($"{basePath}/EnumTypes.cs");
File.WriteAllText($"{BaseAssetPath}/EnumTypes.cs", enumCode.ToString());
AssetDatabase.ImportAsset($"{BaseAssetPath}/EnumTypes.cs");
if (!Directory.Exists(ClassedFullPath))
{
Directory.CreateDirectory(ClassedFullPath);
AssetDatabase.ImportAsset(ClassedFullPath);
}
// 시트별 클래스 생성
foreach (var jObject in jsonObject)
@ -413,8 +419,8 @@ private void GenerateClassFilesPerSheet(string jsonInput)
string dataCode = GenerateDataClassCode(className, items);
string soCode = GenerateSoClassCode(className);
string dataPath = $"{basePath}/{className}.cs";
string soPath = $"{basePath}/{className}So.cs";
string dataPath = $"{ClassedFullPath}/{className}.cs";
string soPath = $"{ClassedFullPath}/{className}So.cs";
File.WriteAllText(dataPath, dataCode);
File.WriteAllText(soPath, soCode);

View File

@ -1,9 +0,0 @@
using System;
using System.Collections.Generic;
using UnityEngine;
/// <summary>You must approach through `GoogleSheetManager.SO<GoogleSheetSO>()`</summary>
public class GoogleSheetSO : ScriptableObject
{
}

View File

@ -1 +0,0 @@
{"sheetData":[{"sheetName":"Sheet1","sheetId":0},{"sheetName":"Sheet2","sheetId":1424371463}]}