구글 스프레드 테스트 최신화, Addressable Importer 설정

This commit is contained in:
NTG_Lenovo 2025-07-04 16:22:35 +09:00
parent 299173df4e
commit ce7bb6ca81
42 changed files with 368 additions and 167 deletions

View File

@ -15,7 +15,7 @@ MonoBehaviour:
m_DefaultGroup: 30e7f67fe9aaa7849a34c9b6e2bc53ae
m_currentHash:
serializedVersion: 2
Hash: 7600c443183b1c4f3c9a27d0df106d6a
Hash: 00000000000000000000000000000000
m_OptimizeCatalogSize: 0
m_BuildRemoteCatalog: 1
m_CatalogRequestsTimeout: 0
@ -101,7 +101,10 @@ MonoBehaviour:
m_LabelNames:
- default
- GoogleSheetSo
- GoogleSheetSprite
- Sprites
- Prefab
- Atlas
- Sprite
m_SchemaTemplates: []
m_GroupTemplateObjects:
- {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}

View File

@ -53,8 +53,8 @@ MonoBehaviour:
m_CacheClearBehavior: 0
m_IncludeInBuild: 1
m_BundledAssetProviderType:
m_AssemblyName:
m_ClassName:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
m_ForceUniqueProvider: 0
m_UseAssetBundleCache: 1
m_UseAssetBundleCrc: 1
@ -65,13 +65,13 @@ MonoBehaviour:
m_RedirectLimit: -1
m_RetryCount: 0
m_BuildPath:
m_Id:
m_Id: 30b8e03fd76b09f46850a05b2650884d
m_LoadPath:
m_Id:
m_Id: 7852182deca226a488adf0342a6f6c9a
m_BundleMode: 0
m_AssetBundleProviderType:
m_AssemblyName:
m_ClassName:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
m_UseDefaultSchemaSettings: 0
m_SelectedPathPairIndex: 0
m_BundleNaming: 0

View File

@ -15,19 +15,19 @@ MonoBehaviour:
m_GroupName: GoogleSheetSo_Group
m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e
m_SerializeEntries:
- m_GUID: 364b51c69a98a334e8a64fb378a87dea
m_Address: FoodSo
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSo
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 5479f075b6cda4949a55b4f1e2cb6dd1
- m_GUID: 3dee12c6902e0644fab1d0e2693857a8
m_Address: ItemSo
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSo
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 6e22365847202cd42978093a2b420135
- m_GUID: b7e176e1cb8d76941af3b6344a4e1401
m_Address: FoodSo
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSo
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f38617ba14522db4d87bb7e10c280a2d
m_Address: MonsterSo
m_ReadOnly: 0
m_SerializedLabels:

View File

@ -15,11 +15,23 @@ MonoBehaviour:
m_GroupName: GoogleSheetSprite_Group
m_GUID: 30e7f67fe9aaa7849a34c9b6e2bc53ae
m_SerializeEntries:
- m_GUID: 1aad5f6adfc7c7d44b36ce007d3c0f1e
m_Address: Items
m_ReadOnly: 0
m_SerializedLabels:
- Atlas
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 492dada85383b554aaf3526ca343f061
m_Address: Barrel
m_ReadOnly: 0
m_SerializedLabels:
- Prefab
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e15933f76da90e742866563b5cd9e45f
m_Address: Gold
m_ReadOnly: 0
m_SerializedLabels:
- GoogleSheetSprite
- Sprite
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}

View File

@ -15,13 +15,36 @@ MonoBehaviour:
rulesEnabled: 1
allowGroupCreation: 1
rules:
- path: Assets/_Datas/Addressables/
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.spriteatlasv2
matchType: 1
groupName:
groupTemplate: {fileID: 0}
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
groupTemplateApplicationMode: 0
labelRefs: []
dynamicLabels: []
dynamicLabels:
- Atlas
LabelMode: 1
simplified: 0
addressReplacement:
addressReplacement: ${asset}
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.prefab
matchType: 1
groupName:
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
groupTemplateApplicationMode: 0
labelRefs: []
dynamicLabels:
- Prefab
LabelMode: 1
simplified: 0
addressReplacement: ${asset}
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.png
matchType: 1
groupName:
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
groupTemplateApplicationMode: 0
labelRefs: []
dynamicLabels:
- Sprite
LabelMode: 1
simplified: 0
addressReplacement: ${asset}

View File

@ -314,9 +314,9 @@ MonoBehaviour:
_isAccessGoogleSheet: 1
_googleSheetUrl: https://script.google.com/macros/s/AKfycbw8TRSl_OuY2S-RX0yvOJi1SqNqoflG0R3pWxk9GC9u_wvGQeuABZc0VH7YJ5lMrAl4/exec
_namespace: DDD
_availSheets: Food/Monster
_availSheets: Food/Monster/Item
_generateFolderPath: /_Datas/02.Scripts/GenerateGoogleSheets/AutoCreated
_currentVersion: "0 - 2025-06-11 14:50:56 by \uB0A8\uD0DC\uAC74"
_currentVersion: "1 - 2025-07-04 16:18:02 by \uB0A8\uD0DC\uAC74"
_restoreIndex: 0
_editorName:
_refreshTrigger: 0

View File

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

View File

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

View File

@ -0,0 +1,116 @@
{
"$개요": [
{
"": "시트 생성"
}
],
"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": 1,
"Taste1:Taste_Enum": "Spicy",
"Taste2:Taste_Enum": "Bitter",
"Sprite:Sprite": ""
},
{
"Id:string": "Food003",
"Name:string": "C",
"Cookware_Enum": "Pot",
"Ingredient1:string": 2,
"Ingredient2:string": 2,
"Taste1:Taste_Enum": "Fresh",
"Taste2:Taste_Enum": "None",
"Sprite:Sprite": ""
},
{
"Id:string": "Food004",
"Name:string": "D",
"Cookware_Enum": "Plating",
"Ingredient1:string": 3,
"Ingredient2:string": 3,
"Taste1:Taste_Enum": " ",
"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
}
],
"Item": [
{
"Id": "식별번호",
"Name": "이름",
"ItemType_Enum": "아이템타입",
"CellSizeX:int": "셀크기X",
"CellSizeY:int": "셀크기Y"
},
{
"Id": "Item001",
"Name": "나무장판",
"ItemType_Enum": "Floor",
"CellSizeX:int": 1,
"CellSizeY:int": 1
},
{
"Id": "Item002",
"Name": "테이블",
"ItemType_Enum": "Furniture",
"CellSizeX:int": 2,
"CellSizeY:int": 2
},
{
"Id": "Item003",
"Name": "전등",
"ItemType_Enum": "WallMount",
"CellSizeX:int": 3,
"CellSizeY:int": 3
}
]
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1f9b8f585350fe54bb7e558ae0b00e98
guid: 34736dc9e04421b48a5a6f1f16fb1768
TextScriptImporter:
externalObjects: {}
userData:

View File

@ -51,7 +51,7 @@
"Cookware_Enum": "Plating",
"Ingredient1:string": 3,
"Ingredient2:string": 3,
"Taste1:Taste_Enum": "Sour",
"Taste1:Taste_Enum": " ",
"Taste2:Taste_Enum": "Salty",
"Sprite:Sprite": "Gold"
}

View File

@ -1,7 +1,6 @@
fileFormatVersion: 2
guid: b41c9ea4d54c4cc41b4b67a9cefde1e7
folderAsset: yes
DefaultImporter:
guid: 8bb3a518e5321c149b1909292ea8def4
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9ffbcd7f689c7cf4ba2de02ba49e07f2
guid: 2333a82b3380c04498d7059761f125ce
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,6 +1,7 @@
// <auto-generated>
using System;
using UnityEngine;
namespace DDD
{
[Serializable]

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: 814b474d2e6fe8842ac33070aea9e4f1
guid: 07d32adeac9e96e4ca9cc90de1b3fa4b

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: b5478aa41b87d9d4884cd90e79797927
guid: 68f7086db4e68fc4d913633d06d803f0

View File

@ -1,6 +1,7 @@
// <auto-generated>
using System;
using UnityEngine;
namespace DDD
{
[Serializable]

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: 5cab0c6954bc2c5408c61f1eb944b9bc
guid: ae55dc0aec9727b4a8cfbb29172ad176

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: 786eeb81014098446b41cf48e8e8210f
guid: 7b5deaa05a95b394fb6f6fd6a450e445

View File

@ -1,6 +1,7 @@
// <auto-generated>
using System;
using UnityEngine;
namespace DDD
{
[Serializable]

View File

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

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: 92273e6c1df22a947b0f82b38374eef6
guid: 7e1500a3fc388674fa8ef2759d5d1c95

View File

@ -1,30 +1,34 @@
// <auto-generated>
using System;
public enum Cookware
{
None = 0,
Pot = 1,
FryingPan = 2,
Plating = 3,
}
public enum Taste
namespace DDD
{
None = 0,
Bitter = 1,
Sweet = 2,
Spicy = 3,
Fresh = 4,
Sour = 5,
Salty = 6,
}
public enum ItemType
public enum Cookware
{
None = 0,
Floor = 1,
Furniture = 2,
WallMount = 3,
}
None = 0,
Pot = 1,
FryingPan = 2,
Plating = 3,
}
public enum Taste
{
None = 0,
Bitter = 1,
Sweet = 2,
Spicy = 3,
Fresh = 4,
_ = 5,
Salty = 6,
}
public enum ItemType
{
None = 0,
Floor = 1,
Furniture = 2,
WallMount = 3,
}
}

View File

@ -1,2 +1,2 @@
fileFormatVersion: 2
guid: d9a6fefe198556045aaa566096d1e3a8
guid: 3a2412871438d5a42b0363c1b7ba1107

View File

@ -51,7 +51,7 @@
"Cookware_Enum": "Plating",
"Ingredient1:string": 3,
"Ingredient2:string": 3,
"Taste1:Taste_Enum": "Sour",
"Taste1:Taste_Enum": " ",
"Taste2:Taste_Enum": "Salty",
"Sprite:Sprite": "Gold"
}

View File

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

View File

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

View File

@ -13,8 +13,8 @@ MonoBehaviour:
m_Name: GoogleSheetChangeLog
m_EditorClassIdentifier:
_logs:
- Editor: "\uC774\uC6A9\uADE0"
Timestamp: 2025-06-25 16:14:34
- Editor: "\uB0A8\uD0DC\uAC74"
Timestamp: 2025-07-04 16:17:14
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
@ -34,7 +34,46 @@ MonoBehaviour:
2,\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\": 3,\n \"Taste1:Taste_Enum\": \"Sour\",\n
3,\n \"Ingredient2:string\": 3,\n \"Taste1:Taste_Enum\": \" \",\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 \"Item\": [\n {\n \"Id\": \"\uC2DD\uBCC4\uBC88\uD638\",\n
\"Name\": \"\uC774\uB984\",\n \"ItemType_Enum\": \"\uC544\uC774\uD15C\uD0C0\uC785\",\n
\"CellSizeX:int\": \"\uC140\uD06C\uAE30X\",\n \"CellSizeY:int\": \"\uC140\uD06C\uAE30Y\"\n
},\n {\n \"Id\": \"Item001\",\n \"Name\": \"\uB098\uBB34\uC7A5\uD310\",\n
\"ItemType_Enum\": \"Floor\",\n \"CellSizeX:int\": 1,\n \"CellSizeY:int\":
1\n },\n {\n \"Id\": \"Item002\",\n \"Name\": \"\uD14C\uC774\uBE14\",\n
\"ItemType_Enum\": \"Furniture\",\n \"CellSizeX:int\": 2,\n \"CellSizeY:int\":
2\n },\n {\n \"Id\": \"Item003\",\n \"Name\": \"\uC804\uB4F1\",\n
\"ItemType_Enum\": \"WallMount\",\n \"CellSizeX:int\": 3,\n \"CellSizeY:int\":
3\n }\n ]\n}"
- Editor: "\uB0A8\uD0DC\uAC74"
Timestamp: 2025-07-04 16:18:02
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\": 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
\"Cookware_Enum\": \"Pot\",\n \"Ingredient1:string\": 2,\n \"Ingredient2:string\":
2,\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\": 3,\n \"Taste1:Taste_Enum\": \" \",\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

View File

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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 99d65a0af712fd646b80a5eec3113b50
guid: abfee3200f5694a46b3d0871285819cc
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: b5478aa41b87d9d4884cd90e79797927, type: 3}
m_Script: {fileID: 11500000, guid: 68f7086db4e68fc4d913633d06d803f0, type: 3}
m_Name: FoodSo
m_EditorClassIdentifier:
FoodList:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 364b51c69a98a334e8a64fb378a87dea
guid: b7e176e1cb8d76941af3b6344a4e1401
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: 786eeb81014098446b41cf48e8e8210f, type: 3}
m_Script: {fileID: 11500000, guid: 7b5deaa05a95b394fb6f6fd6a450e445, type: 3}
m_Name: ItemSo
m_EditorClassIdentifier:
ItemList:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5479f075b6cda4949a55b4f1e2cb6dd1
guid: 3dee12c6902e0644fab1d0e2693857a8
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: 92273e6c1df22a947b0f82b38374eef6, type: 3}
m_Script: {fileID: 11500000, guid: 7e1500a3fc388674fa8ef2759d5d1c95, type: 3}
m_Name: MonsterSo
m_EditorClassIdentifier:
MonsterList:

View File

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

View File

@ -1,63 +1,63 @@
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
public class Inventory : MonoBehaviour
{
public RectTransform inventoryRoot;
public ItemUI itemPrefab;
private Dictionary<string, Item> inventory;
private Stack<ItemUI> unusedItemUIs;
private Transform unusedRoot;
private ItemUI selectedItem;
private async void Start()
{
var task = GoogleSheetManager.LoadSo<ItemSo>();
var items = await task;
itemPrefab.transform.SetParent(null);
itemPrefab.gameObject.SetActive(false);
unusedItemUIs = new Stack<ItemUI>();
var obj = new GameObject("UnusedRoot");
obj.SetActive(false);
unusedRoot = obj.transform;
// TODO: 데이터에서 가져오기
inventory = new Dictionary<string, Item>();
inventory["0"] = items.ItemList[0];
inventory["1"] = items.ItemList[1];
inventory["2"] = items.ItemList[2];
UpdateItemList();
}
public void UpdateItemList()
{
var counts = inventoryRoot.childCount;
for (int i = 0; i < counts; ++i)
{
var child = inventoryRoot.GetChild(0);
unusedItemUIs.Push(child.GetComponent<ItemUI>());
child.SetParent(unusedRoot);
}
foreach (var item in inventory)
{
var usingPool = unusedItemUIs.TryPop(out var itemObject);
if (usingPool == false)
{
itemObject = Instantiate(itemPrefab.gameObject).GetComponent<ItemUI>();
}
itemObject.gameObject.SetActive(true);
itemObject.transform.SetParent(inventoryRoot);
itemObject.SetUpItem(item.Value);
}
}
}
}
// using System.Collections.Generic;
// using UnityEngine;
//
// namespace DDD
// {
// public class Inventory : MonoBehaviour
// {
// public RectTransform inventoryRoot;
// public ItemUI itemPrefab;
//
// private Dictionary<string, Item> inventory;
// private Stack<ItemUI> unusedItemUIs;
// private Transform unusedRoot;
//
// private ItemUI selectedItem;
//
// private async void Start()
// {
// var task = GoogleSheetManager.LoadSo<ItemSo>();
// var items = await task;
//
// itemPrefab.transform.SetParent(null);
// itemPrefab.gameObject.SetActive(false);
//
// unusedItemUIs = new Stack<ItemUI>();
// var obj = new GameObject("UnusedRoot");
// obj.SetActive(false);
// unusedRoot = obj.transform;
//
// // TODO: 데이터에서 가져오기
// inventory = new Dictionary<string, Item>();
// inventory["0"] = items.ItemList[0];
// inventory["1"] = items.ItemList[1];
// inventory["2"] = items.ItemList[2];
// UpdateItemList();
// }
//
// public void UpdateItemList()
// {
// var counts = inventoryRoot.childCount;
// for (int i = 0; i < counts; ++i)
// {
// var child = inventoryRoot.GetChild(0);
// unusedItemUIs.Push(child.GetComponent<ItemUI>());
// child.SetParent(unusedRoot);
// }
//
// foreach (var item in inventory)
// {
// var usingPool = unusedItemUIs.TryPop(out var itemObject);
//
// if (usingPool == false)
// {
// itemObject = Instantiate(itemPrefab.gameObject).GetComponent<ItemUI>();
// }
//
// itemObject.gameObject.SetActive(true);
// itemObject.transform.SetParent(inventoryRoot);
// itemObject.SetUpItem(item.Value);
// }
// }
// }
// }

View File

@ -5,19 +5,19 @@ namespace DDD
{
public class ItemUI : MonoBehaviour
{
public TextMeshProUGUI nameText;
private Item _item;
public void SetUpItem(Item item)
{
_item = item;
UpdateItem();
}
private void UpdateItem()
{
nameText.text = _item.Name;
}
// public TextMeshProUGUI nameText;
//
// private Item _item;
//
// public void SetUpItem(Item item)
// {
// _item = item;
// UpdateItem();
// }
//
// private void UpdateItem()
// {
// nameText.text = _item.Name;
// }
}
}

View File

@ -133,6 +133,8 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1729167076258722398
--- !u!1 &5799723711254518527
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -8,7 +8,7 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4298635208858866552}
- component: {fileID: 5765335169201649049}
m_Layer: 0
m_Name: Barrel
m_TagString: Untagged
@ -16,23 +16,23 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4298635208858866552
--- !u!4 &5765335169201649049
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1729167076258722398}
m_GameObject: {fileID: 5799723711254518527}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 3224128751907053624}
- {fileID: 8594072857435888823}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7923654973883356309
--- !u!1 &7282862855117613265
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -40,8 +40,8 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3224128751907053624}
- component: {fileID: 6445448472156230971}
- component: {fileID: 8594072857435888823}
- component: {fileID: 7771024025582628391}
m_Layer: 0
m_Name: VisualLook
m_TagString: Untagged
@ -49,28 +49,28 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3224128751907053624
--- !u!4 &8594072857435888823
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7923654973883356309}
m_GameObject: {fileID: 7282862855117613265}
serializedVersion: 2
m_LocalRotation: {x: 0.34202015, y: 0, z: 0, w: 0.9396927}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4298635208858866552}
m_Father: {fileID: 5765335169201649049}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &6445448472156230971
--- !u!212 &7771024025582628391
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7923654973883356309}
m_GameObject: {fileID: 7282862855117613265}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -44,8 +44,8 @@ TextureImporter:
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 64