구글 시트 기능 수정
This commit is contained in:
parent
6c9283ed6e
commit
38bbe9b697
@ -50,9 +50,9 @@ MonoBehaviour:
|
|||||||
m_CheckForContentUpdateRestrictionsOption: 0
|
m_CheckForContentUpdateRestrictionsOption: 0
|
||||||
m_MonoScriptBundleCustomNaming:
|
m_MonoScriptBundleCustomNaming:
|
||||||
m_RemoteCatalogBuildPath:
|
m_RemoteCatalogBuildPath:
|
||||||
m_Id: cb8a3716c5e5eae4c968a7c055b25814
|
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||||
m_RemoteCatalogLoadPath:
|
m_RemoteCatalogLoadPath:
|
||||||
m_Id: 9b57c3bf4ae74bd408f442d8caaa93c1
|
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||||
m_ContentStateBuildPathProfileVariableName: <default settings path>
|
m_ContentStateBuildPathProfileVariableName: <default settings path>
|
||||||
m_CustomContentStateBuildPath:
|
m_CustomContentStateBuildPath:
|
||||||
m_ContentStateBuildPath:
|
m_ContentStateBuildPath:
|
||||||
|
@ -14,19 +14,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_GroupName: GoogleSheetSo_Group
|
m_GroupName: GoogleSheetSo_Group
|
||||||
m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e
|
m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e
|
||||||
m_SerializeEntries:
|
m_SerializeEntries: []
|
||||||
- m_GUID: 1542a7a4161005c4baf6262cdf5f4ac7
|
|
||||||
m_Address: MonsterSo
|
|
||||||
m_ReadOnly: 0
|
|
||||||
m_SerializedLabels:
|
|
||||||
- GoogleSheetSo
|
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
|
||||||
- m_GUID: ccb6f7909b5ffd94499bbeaef45086be
|
|
||||||
m_Address: FoodSo
|
|
||||||
m_ReadOnly: 0
|
|
||||||
m_SerializedLabels:
|
|
||||||
- GoogleSheetSo
|
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||||
m_SchemaSet:
|
m_SchemaSet:
|
||||||
|
@ -290,7 +290,7 @@ MonoBehaviour:
|
|||||||
_googleSheetUrl: https://script.google.com/macros/s/AKfycbw8TRSl_OuY2S-RX0yvOJi1SqNqoflG0R3pWxk9GC9u_wvGQeuABZc0VH7YJ5lMrAl4/exec
|
_googleSheetUrl: https://script.google.com/macros/s/AKfycbw8TRSl_OuY2S-RX0yvOJi1SqNqoflG0R3pWxk9GC9u_wvGQeuABZc0VH7YJ5lMrAl4/exec
|
||||||
_availSheets: Food/Monster
|
_availSheets: Food/Monster
|
||||||
_generateFolderPath: /_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated
|
_generateFolderPath: /_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated
|
||||||
_currentVersion: "7 - 2025-05-13 16:44:24 by \uB0A8\uD0DC\uAC74"
|
_currentVersion: "0 - 2025-05-13 19:23:45 by \uB0A8\uD0DC\uAC74"
|
||||||
_restoreIndex: 0
|
_restoreIndex: 0
|
||||||
_editorName:
|
_editorName:
|
||||||
_refreshTrigger: 1
|
_refreshTrigger: 1
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 68c35d02b1414b34f87d8c3169f743e5
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 46bf69576c1d1b24ebce48222bcb0a4d
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 4,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 5,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 07e7795754f7da943976cb3e16c363d8
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 11,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 22,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 33,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2f85d1030505c1a46b9c4b296dfd1213
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 7,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 7,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 7,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f7e7c66cf0ba20d4f9f69ec1de7247c7
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 8,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 8,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 8,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fd833067e5a7f804baef09baccca5d35
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 9,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 9,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 9,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9fabf60774f9a7941b5c170871ca941c
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 333,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 444,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 555,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2252c8d797af75e49adb65a24069c094
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 222,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 333,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 444,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: cd40e1a2187a0764e8770d553ae71bd4
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 8,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 6,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 7,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d2ca60b3390812642a7c5d3f4f2315a5
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 123123,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 123123,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 123123,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 310fc35bc8fc3fb4d8428fde47834a19
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e554e55047455884493dac8eadb77222
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,14 +0,0 @@
|
|||||||
// <auto-generated>
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public enum Taste
|
|
||||||
{
|
|
||||||
None = 0,
|
|
||||||
Bitter = 1,
|
|
||||||
Sweet = 2,
|
|
||||||
Spicy = 3,
|
|
||||||
Fresh = 4,
|
|
||||||
Sour = 5,
|
|
||||||
Salty = 6,
|
|
||||||
}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ba9b1a4c8af1e73408126a6a97be8423
|
|
@ -1,35 +0,0 @@
|
|||||||
// <auto-generated>
|
|
||||||
using System;
|
|
||||||
using UnityEngine;
|
|
||||||
[Serializable]
|
|
||||||
public class Food
|
|
||||||
{
|
|
||||||
/// <summary>식별ID</summary>
|
|
||||||
[Tooltip("식별ID")]
|
|
||||||
public string Id;
|
|
||||||
|
|
||||||
/// <summary>이름</summary>
|
|
||||||
[Tooltip("이름")]
|
|
||||||
public string Name;
|
|
||||||
|
|
||||||
/// <summary>재료1</summary>
|
|
||||||
[Tooltip("재료1")]
|
|
||||||
public string Ingredient1;
|
|
||||||
|
|
||||||
/// <summary>재료2</summary>
|
|
||||||
[Tooltip("재료2")]
|
|
||||||
public string Ingredient2;
|
|
||||||
|
|
||||||
/// <summary>맛1</summary>
|
|
||||||
[Tooltip("맛1")]
|
|
||||||
public Taste Taste1;
|
|
||||||
|
|
||||||
/// <summary>맛2</summary>
|
|
||||||
[Tooltip("맛2")]
|
|
||||||
public Taste Taste2;
|
|
||||||
|
|
||||||
/// <summary>Addressable 이미지 이름</summary>
|
|
||||||
[Tooltip("Addressable 이미지 이름")]
|
|
||||||
public Sprite Sprite;
|
|
||||||
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: dce45c629bff82849ae40a08e605ce13
|
|
@ -1,9 +0,0 @@
|
|||||||
// <auto-generated> File: FoodSo.cs
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
[CreateAssetMenu(fileName = "FoodSo", menuName = "GoogleSheet/FoodSo")]
|
|
||||||
public class FoodSo : ScriptableObject
|
|
||||||
{
|
|
||||||
public List<Food> FoodList;
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 80338c211c1fbc44f9fc1827b83ce50f
|
|
@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"$개요": [
|
|
||||||
{
|
|
||||||
"": "시트 생성"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Food": [
|
|
||||||
{
|
|
||||||
"Id:string": "식별ID",
|
|
||||||
"Name:string": "이름",
|
|
||||||
"Ingredient1:string": "재료1",
|
|
||||||
"Ingredient2:string": "재료2",
|
|
||||||
"Taste1:Taste_Enum": "맛1",
|
|
||||||
"Taste2:Taste_Enum": "맛2",
|
|
||||||
"Sprite:Sprite": "Addressable 이미지 이름"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food001",
|
|
||||||
"Name:string": "햇빛수프",
|
|
||||||
"Ingredient1:string": "극락쌀",
|
|
||||||
"Ingredient2:string": "햇빛당근",
|
|
||||||
"Taste1:Taste_Enum": "Bitter",
|
|
||||||
"Taste2:Taste_Enum": "Sweet",
|
|
||||||
"Sprite:Sprite": "Gold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food002",
|
|
||||||
"Name:string": "B",
|
|
||||||
"Ingredient1:string": 1,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"Taste1:Taste_Enum": "Spicy",
|
|
||||||
"Taste2:Taste_Enum": "Bitter",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food003",
|
|
||||||
"Name:string": "C",
|
|
||||||
"Ingredient1:string": 2,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"Taste1:Taste_Enum": "Fresh",
|
|
||||||
"Taste2:Taste_Enum": "None",
|
|
||||||
"Sprite:Sprite": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id:string": "Food004",
|
|
||||||
"Name:string": "D",
|
|
||||||
"Ingredient1:string": 3,
|
|
||||||
"Ingredient2:string": 1,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 76740917292abb542b69fe09178e5bfa
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 53d86386d682bb445ba3b231e83086c6
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,290 +0,0 @@
|
|||||||
%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-13 16:28:35
|
|
||||||
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 \"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 \"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 \"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 \"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 \"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-13 16:30:24
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
11,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\":
|
|
||||||
\"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\":
|
|
||||||
\"Food003\",\n \"Name:string\": \"C\",\n \"Ingredient1:string\":
|
|
||||||
2,\n \"Ingredient2:string\": 22,\n \"Taste1:Taste_Enum\": \"Fresh\",\n
|
|
||||||
\"Taste2:Taste_Enum\": \"None\",\n \"Sprite:Sprite\": \"\"\n },\n
|
|
||||||
{\n \"Id:string\": \"Food004\",\n \"Name:string\": \"D\",\n
|
|
||||||
\"Ingredient1:string\": 3,\n \"Ingredient2:string\": 33,\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-13 16:37:27
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
7,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\": \"Bitter\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food003\",\n
|
|
||||||
\"Name:string\": \"C\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
|
|
||||||
7,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n
|
|
||||||
\"Name:string\": \"D\",\n \"Ingredient1:string\": 3,\n \"Ingredient2:string\":
|
|
||||||
7,\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-13 16:39:30
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
8,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\": \"Bitter\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food003\",\n
|
|
||||||
\"Name:string\": \"C\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
|
|
||||||
8,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n
|
|
||||||
\"Name:string\": \"D\",\n \"Ingredient1:string\": 3,\n \"Ingredient2:string\":
|
|
||||||
8,\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-13 16:40:46
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
9,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\": \"Bitter\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food003\",\n
|
|
||||||
\"Name:string\": \"C\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
|
|
||||||
9,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n
|
|
||||||
\"Name:string\": \"D\",\n \"Ingredient1:string\": 3,\n \"Ingredient2:string\":
|
|
||||||
9,\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-13 16:41:55
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
333,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\":
|
|
||||||
\"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\":
|
|
||||||
\"Food003\",\n \"Name:string\": \"C\",\n \"Ingredient1:string\":
|
|
||||||
2,\n \"Ingredient2:string\": 444,\n \"Taste1:Taste_Enum\": \"Fresh\",\n
|
|
||||||
\"Taste2:Taste_Enum\": \"None\",\n \"Sprite:Sprite\": \"\"\n },\n
|
|
||||||
{\n \"Id:string\": \"Food004\",\n \"Name:string\": \"D\",\n
|
|
||||||
\"Ingredient1:string\": 3,\n \"Ingredient2:string\": 555,\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-13 16:43:04
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
222,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\":
|
|
||||||
\"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\":
|
|
||||||
\"Food003\",\n \"Name:string\": \"C\",\n \"Ingredient1:string\":
|
|
||||||
2,\n \"Ingredient2:string\": 333,\n \"Taste1:Taste_Enum\": \"Fresh\",\n
|
|
||||||
\"Taste2:Taste_Enum\": \"None\",\n \"Sprite:Sprite\": \"\"\n },\n
|
|
||||||
{\n \"Id:string\": \"Food004\",\n \"Name:string\": \"D\",\n
|
|
||||||
\"Ingredient1:string\": 3,\n \"Ingredient2:string\": 444,\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-13 16:44:24
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
8,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\": \"Bitter\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food003\",\n
|
|
||||||
\"Name:string\": \"C\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
|
|
||||||
6,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n
|
|
||||||
\"Name:string\": \"D\",\n \"Ingredient1:string\": 3,\n \"Ingredient2:string\":
|
|
||||||
7,\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-13 16:46:54
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
123123,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\":
|
|
||||||
\"Bitter\",\n \"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\":
|
|
||||||
\"Food003\",\n \"Name:string\": \"C\",\n \"Ingredient1:string\":
|
|
||||||
2,\n \"Ingredient2:string\": 123123,\n \"Taste1:Taste_Enum\": \"Fresh\",\n
|
|
||||||
\"Taste2:Taste_Enum\": \"None\",\n \"Sprite:Sprite\": \"\"\n },\n
|
|
||||||
{\n \"Id:string\": \"Food004\",\n \"Name:string\": \"D\",\n
|
|
||||||
\"Ingredient1:string\": 3,\n \"Ingredient2:string\": 123123,\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-13 16:48:29
|
|
||||||
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 \"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 \"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 \"Ingredient1:string\": 1,\n \"Ingredient2:string\":
|
|
||||||
1,\n \"Taste1:Taste_Enum\": \"Spicy\",\n \"Taste2:Taste_Enum\": \"Bitter\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food003\",\n
|
|
||||||
\"Name:string\": \"C\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
|
|
||||||
1,\n \"Taste1:Taste_Enum\": \"Fresh\",\n \"Taste2:Taste_Enum\": \"None\",\n
|
|
||||||
\"Sprite:Sprite\": \"\"\n },\n {\n \"Id:string\": \"Food004\",\n
|
|
||||||
\"Name:string\": \"D\",\n \"Ingredient1:string\": 3,\n \"Ingredient2:string\":
|
|
||||||
1,\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}"
|
|
||||||
MaxLogs: 100
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0a3d0fe4e3a059c4eaaebf49f90ca899
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,19 +0,0 @@
|
|||||||
// <auto-generated>
|
|
||||||
using System;
|
|
||||||
using UnityEngine;
|
|
||||||
[Serializable]
|
|
||||||
public class Monster
|
|
||||||
{
|
|
||||||
/// <summary>식별번호</summary>
|
|
||||||
[Tooltip("식별번호")]
|
|
||||||
public string Id;
|
|
||||||
|
|
||||||
/// <summary>이름</summary>
|
|
||||||
[Tooltip("이름")]
|
|
||||||
public string Name;
|
|
||||||
|
|
||||||
/// <summary>테스트1</summary>
|
|
||||||
[Tooltip("테스트1")]
|
|
||||||
public int T1;
|
|
||||||
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b11551a9f69d3d04aac796eeabead5bb
|
|
@ -1,9 +0,0 @@
|
|||||||
// <auto-generated> File: MonsterSo.cs
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
[CreateAssetMenu(fileName = "MonsterSo", menuName = "GoogleSheet/MonsterSo")]
|
|
||||||
public class MonsterSo : ScriptableObject
|
|
||||||
{
|
|
||||||
public List<Monster> MonsterList;
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e06f0bd1faff18646b7597ddcf787856
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 78153c2368c8af440ae01521a5ed015d
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,43 +0,0 @@
|
|||||||
%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: 80338c211c1fbc44f9fc1827b83ce50f, type: 3}
|
|
||||||
m_Name: FoodSo
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
FoodList:
|
|
||||||
- Id: Food001
|
|
||||||
Name: "\uD587\uBE5B\uC218\uD504"
|
|
||||||
Ingredient1: "\uADF9\uB77D\uC300"
|
|
||||||
Ingredient2: "\uD587\uBE5B\uB2F9\uADFC"
|
|
||||||
Taste1: 1
|
|
||||||
Taste2: 2
|
|
||||||
Sprite: {fileID: 0}
|
|
||||||
- Id: Food002
|
|
||||||
Name: B
|
|
||||||
Ingredient1: 1
|
|
||||||
Ingredient2: 11
|
|
||||||
Taste1: 3
|
|
||||||
Taste2: 1
|
|
||||||
Sprite: {fileID: 0}
|
|
||||||
- Id: Food003
|
|
||||||
Name: C
|
|
||||||
Ingredient1: 2
|
|
||||||
Ingredient2: 22
|
|
||||||
Taste1: 4
|
|
||||||
Taste2: 0
|
|
||||||
Sprite: {fileID: 0}
|
|
||||||
- Id: Food004
|
|
||||||
Name: D
|
|
||||||
Ingredient1: 3
|
|
||||||
Ingredient2: 33
|
|
||||||
Taste1: 5
|
|
||||||
Taste2: 6
|
|
||||||
Sprite: {fileID: 0}
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: ccb6f7909b5ffd94499bbeaef45086be
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,27 +0,0 @@
|
|||||||
%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: e06f0bd1faff18646b7597ddcf787856, 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
|
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1542a7a4161005c4baf6262cdf5f4ac7
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -9,6 +9,7 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using JetBrains.Annotations;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEngine.AddressableAssets;
|
using UnityEngine.AddressableAssets;
|
||||||
@ -33,7 +34,7 @@ public class GoogleSheetManager : Singleton<GoogleSheetManager>
|
|||||||
private string _generateFolderPath = "/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated";
|
private string _generateFolderPath = "/_Datas/02.Scripts/GenerateGoogleSheet/AutoCreated";
|
||||||
|
|
||||||
[BoxGroup("버전 복구")]
|
[BoxGroup("버전 복구")]
|
||||||
[SerializeField, Tooltip("현재 사용중인 버전"), ReadOnly]
|
[SerializeField, Tooltip("현재 사용중인 버전"), ReadOnly, UsedImplicitly]
|
||||||
private string _currentVersion;
|
private string _currentVersion;
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
@ -79,7 +80,7 @@ public static async Task<T> LoadSo<T>() where T : ScriptableObject
|
|||||||
#if UNITY_EDITOR || DEVELOPMENT_BUILD
|
#if UNITY_EDITOR || DEVELOPMENT_BUILD
|
||||||
[BoxGroup("데이터 변경")]
|
[BoxGroup("데이터 변경")]
|
||||||
[Button("데이터 최신화"), EnableIf(nameof(CanFetchData))]
|
[Button("데이터 최신화"), EnableIf(nameof(CanFetchData))]
|
||||||
private async void FetchGoogleSheet()
|
private async Task FetchGoogleSheet()
|
||||||
{
|
{
|
||||||
_availSheetArray = _availSheets.Split('/');
|
_availSheetArray = _availSheets.Split('/');
|
||||||
|
|
||||||
@ -147,8 +148,11 @@ private void SaveChangeLog(string json)
|
|||||||
string logsDirectory = Path.GetDirectoryName(ChangeLogAssetPath);
|
string logsDirectory = Path.GetDirectoryName(ChangeLogAssetPath);
|
||||||
if (!Directory.Exists(logsDirectory))
|
if (!Directory.Exists(logsDirectory))
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(logsDirectory);
|
if (logsDirectory != null)
|
||||||
AssetDatabase.ImportAsset(logsDirectory);
|
{
|
||||||
|
Directory.CreateDirectory(logsDirectory);
|
||||||
|
AssetDatabase.ImportAsset(logsDirectory);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var log = AssetDatabase.LoadAssetAtPath<GoogleSheetChangeLog>(ChangeLogAssetPath);
|
var log = AssetDatabase.LoadAssetAtPath<GoogleSheetChangeLog>(ChangeLogAssetPath);
|
||||||
@ -229,7 +233,7 @@ private void CompareWithSelectedVersion()
|
|||||||
|
|
||||||
[BoxGroup("버전 복구")]
|
[BoxGroup("버전 복구")]
|
||||||
[Button("선택한 버전으로 복구")]
|
[Button("선택한 버전으로 복구")]
|
||||||
private async void RestoreSelectedVersion()
|
private async Task RestoreSelectedVersion()
|
||||||
{
|
{
|
||||||
var log = AssetDatabase.LoadAssetAtPath<GoogleSheetChangeLog>(ChangeLogAssetPath);
|
var log = AssetDatabase.LoadAssetAtPath<GoogleSheetChangeLog>(ChangeLogAssetPath);
|
||||||
if (log == null || _restoreIndex < 0 || _restoreIndex >= log.Logs.Count)
|
if (log == null || _restoreIndex < 0 || _restoreIndex >= log.Logs.Count)
|
||||||
@ -239,7 +243,7 @@ private async void RestoreSelectedVersion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
string restoreJson = log.Logs[_restoreIndex].JsonSnapshot;
|
string restoreJson = log.Logs[_restoreIndex].JsonSnapshot;
|
||||||
string currentJson = File.Exists(JsonFullPath) ? File.ReadAllText(JsonFullPath) : "";
|
string currentJson = File.Exists(JsonFullPath) ? await File.ReadAllTextAsync(JsonFullPath) : "";
|
||||||
|
|
||||||
var diffs = GoogleSheetFetchHelper.CompareJsonDiff(currentJson, restoreJson);
|
var diffs = GoogleSheetFetchHelper.CompareJsonDiff(currentJson, restoreJson);
|
||||||
if (diffs.Count > 0)
|
if (diffs.Count > 0)
|
||||||
@ -274,18 +278,16 @@ private IEnumerable<ValueDropdownItem<int>> GetVersionOptions()
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task<string> LoadDataGoogleSheet(string url)
|
private async Task<string> LoadDataGoogleSheet(string url)
|
||||||
{
|
{
|
||||||
using (HttpClient client = new HttpClient())
|
using HttpClient client = new HttpClient();
|
||||||
|
try
|
||||||
{
|
{
|
||||||
try
|
byte[] dataBytes = await client.GetByteArrayAsync(url);
|
||||||
{
|
return Encoding.UTF8.GetString(dataBytes);
|
||||||
byte[] dataBytes = await client.GetByteArrayAsync(url);
|
}
|
||||||
return Encoding.UTF8.GetString(dataBytes);
|
catch (HttpRequestException e)
|
||||||
}
|
{
|
||||||
catch (HttpRequestException e)
|
Debug.LogError($"Request error: {e.Message}");
|
||||||
{
|
return null;
|
||||||
Debug.LogError($"Request error: {e.Message}");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,7 +313,7 @@ private bool SaveFileOrSkip(string path, string contents)
|
|||||||
string directoryPath = Path.GetDirectoryName(path);
|
string directoryPath = Path.GetDirectoryName(path);
|
||||||
if (!Directory.Exists(directoryPath))
|
if (!Directory.Exists(directoryPath))
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(directoryPath);
|
if (directoryPath != null) Directory.CreateDirectory(directoryPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (File.Exists(path) && File.ReadAllText(path).Equals(contents))
|
if (File.Exists(path) && File.ReadAllText(path).Equals(contents))
|
||||||
@ -361,14 +363,7 @@ private void GenerateClassFilesPerSheet(string jsonInput)
|
|||||||
string enumType = null;
|
string enumType = null;
|
||||||
if (rawName.EndsWith("_Enum"))
|
if (rawName.EndsWith("_Enum"))
|
||||||
{
|
{
|
||||||
if (rawName.Contains(":"))
|
enumType = rawName.Contains(":") ? rawName.Split(':')[1].Replace("_Enum", "") : rawName.Replace("_Enum", "");
|
||||||
{
|
|
||||||
enumType = rawName.Split(':')[1].Replace("_Enum", "");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
enumType = rawName.Replace("_Enum", "");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(enumType))
|
if (!string.IsNullOrEmpty(enumType))
|
||||||
@ -517,7 +512,7 @@ private string GetCSharpType(JTokenType jsonType)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> CreateGoogleSheetSoAsync()
|
private async Task<bool> CreateGoogleSheetSoAsync()
|
||||||
{
|
{
|
||||||
await Addressables.InitializeAsync().Task;
|
await Addressables.InitializeAsync().Task;
|
||||||
|
|
||||||
@ -532,30 +527,8 @@ public async Task<bool> CreateGoogleSheetSoAsync()
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var checkHandle = Addressables.CheckForCatalogUpdates();
|
// 🔁 카탈로그 업데이트 제거 (로컬 모드에서는 불필요)
|
||||||
await checkHandle.Task;
|
Debug.Log("[GoogleSheetManager] 로컬 모드 - 카탈로그 업데이트 스킵");
|
||||||
|
|
||||||
bool succeeded = checkHandle.Status == AsyncOperationStatus.Succeeded;
|
|
||||||
List<string> catalogsToUpdate = succeeded ? new List<string>(checkHandle.Result) : null;
|
|
||||||
|
|
||||||
Addressables.Release(checkHandle); // ⛔ 이후 checkHandle 접근 금지!
|
|
||||||
|
|
||||||
if (catalogsToUpdate?.Count > 0)
|
|
||||||
{
|
|
||||||
var updateHandle = Addressables.UpdateCatalogs(catalogsToUpdate);
|
|
||||||
await updateHandle.Task;
|
|
||||||
|
|
||||||
if (updateHandle.Status == AsyncOperationStatus.Succeeded)
|
|
||||||
Debug.Log("카탈로그 업데이트 성공");
|
|
||||||
else
|
|
||||||
Debug.LogError("카탈로그 업데이트 실패");
|
|
||||||
|
|
||||||
Addressables.Release(updateHandle);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Debug.Log("[GoogleSheetManager] Addressables 카탈로그는 최신 상태입니다.");
|
|
||||||
}
|
|
||||||
|
|
||||||
result = await InternalCreateGoogleSheetSoAsync();
|
result = await InternalCreateGoogleSheetSoAsync();
|
||||||
}
|
}
|
||||||
@ -571,7 +544,7 @@ public async Task<bool> CreateGoogleSheetSoAsync()
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> InternalCreateGoogleSheetSoAsync()
|
private async Task<bool> InternalCreateGoogleSheetSoAsync()
|
||||||
{
|
{
|
||||||
JObject jsonObject = JObject.Parse(_json);
|
JObject jsonObject = JObject.Parse(_json);
|
||||||
|
|
||||||
@ -664,7 +637,7 @@ public async Task<bool> InternalCreateGoogleSheetSoAsync()
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
object value = null;
|
object value;
|
||||||
|
|
||||||
// ✅ Sprite 처리 (주소로부터 비동기 로드)
|
// ✅ Sprite 처리 (주소로부터 비동기 로드)
|
||||||
if (explicitType == "Sprite" && field.FieldType == typeof(Sprite))
|
if (explicitType == "Sprite" && field.FieldType == typeof(Sprite))
|
||||||
@ -704,10 +677,7 @@ public async Task<bool> InternalCreateGoogleSheetSoAsync()
|
|||||||
// ✅ Color 처리
|
// ✅ Color 처리
|
||||||
else if (field.FieldType == typeof(Color))
|
else if (field.FieldType == typeof(Color))
|
||||||
{
|
{
|
||||||
if (ColorUtility.TryParseHtmlString(prop.Value.ToString(), out var color))
|
value = ColorUtility.TryParseHtmlString(prop.Value.ToString(), out var color) ? color : Color.white;
|
||||||
value = color;
|
|
||||||
else
|
|
||||||
value = Color.white;
|
|
||||||
}
|
}
|
||||||
// ✅ 기본 타입 처리
|
// ✅ 기본 타입 처리
|
||||||
else
|
else
|
||||||
@ -760,11 +730,11 @@ public async Task<bool> InternalCreateGoogleSheetSoAsync()
|
|||||||
return allSuccess;
|
return allSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Type FindTypeByName(string name)
|
private Type FindTypeByName(string sheetName)
|
||||||
{
|
{
|
||||||
return AppDomain.CurrentDomain.GetAssemblies()
|
return AppDomain.CurrentDomain.GetAssemblies()
|
||||||
.SelectMany(a => a.GetTypes())
|
.SelectMany(a => a.GetTypes())
|
||||||
.FirstOrDefault(t => t.Name == name);
|
.FirstOrDefault(t => t.Name == sheetName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string NormalizeEnumKey(string input)
|
private string NormalizeEnumKey(string input)
|
||||||
@ -833,7 +803,7 @@ private IEnumerator ReloadRoutine()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void CreateSoAfterScriptReload()
|
public async Task CreateSoAfterScriptReload()
|
||||||
{
|
{
|
||||||
if (_json != null)
|
if (_json != null)
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@ private void OnGUI()
|
|||||||
EditorGUILayout.BeginHorizontal("box");
|
EditorGUILayout.BeginHorizontal("box");
|
||||||
EditorGUILayout.LabelField("시트", EditorStyles.boldLabel, GUILayout.Width(80));
|
EditorGUILayout.LabelField("시트", EditorStyles.boldLabel, GUILayout.Width(80));
|
||||||
EditorGUILayout.LabelField("행", EditorStyles.boldLabel, GUILayout.Width(40));
|
EditorGUILayout.LabelField("행", EditorStyles.boldLabel, GUILayout.Width(40));
|
||||||
EditorGUILayout.LabelField("필드", EditorStyles.boldLabel, GUILayout.Width(100));
|
EditorGUILayout.LabelField("필드", EditorStyles.boldLabel, GUILayout.Width(140));
|
||||||
|
|
||||||
GUIStyle oldStyle = new GUIStyle(EditorStyles.label);
|
GUIStyle oldStyle = new GUIStyle(EditorStyles.label);
|
||||||
oldStyle.normal.textColor = Color.green;
|
oldStyle.normal.textColor = Color.green;
|
||||||
@ -52,7 +52,7 @@ private void OnGUI()
|
|||||||
|
|
||||||
EditorGUILayout.LabelField(diff.Sheet, GUILayout.Width(80));
|
EditorGUILayout.LabelField(diff.Sheet, GUILayout.Width(80));
|
||||||
EditorGUILayout.LabelField(diff.RowIndex.ToString(), GUILayout.Width(40));
|
EditorGUILayout.LabelField(diff.RowIndex.ToString(), GUILayout.Width(40));
|
||||||
EditorGUILayout.LabelField(diff.Field, GUILayout.Width(100));
|
EditorGUILayout.LabelField(diff.Field, GUILayout.Width(140));
|
||||||
|
|
||||||
string left = _isReversed ? diff.NewValue : diff.OldValue;
|
string left = _isReversed ? diff.NewValue : diff.OldValue;
|
||||||
string right = _isReversed ? diff.OldValue : diff.NewValue;
|
string right = _isReversed ? diff.OldValue : diff.NewValue;
|
||||||
|
@ -11,7 +11,7 @@ private static void OnScriptsReloaded()
|
|||||||
if (EditorPrefs.GetBool("GoogleSheetManager_ShouldCreateSO", false))
|
if (EditorPrefs.GetBool("GoogleSheetManager_ShouldCreateSO", false))
|
||||||
{
|
{
|
||||||
EditorPrefs.DeleteKey("GoogleSheetManager_ShouldCreateSO");
|
EditorPrefs.DeleteKey("GoogleSheetManager_ShouldCreateSO");
|
||||||
GoogleSheetManager.Instance.CreateSoAfterScriptReload();
|
_ = GoogleSheetManager.Instance.CreateSoAfterScriptReload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
ProjectDDD.sln.DotSettings
Normal file
2
ProjectDDD.sln.DotSettings
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=addressables/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
Loading…
Reference in New Issue
Block a user