From 11520935210513eb98146cb37a4844064303fed0 Mon Sep 17 00:00:00 2001 From: BoyongHwang Date: Fri, 30 Jan 2026 18:17:15 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9B=A8=EC=9D=B4=EB=B8=8C,=20=EB=AA=AC?= =?UTF-8?q?=EC=8A=A4=ED=84=B0=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=8A=A4?= =?UTF-8?q?=ED=82=A4=EB=A7=88=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - waveMaster, monsterMaster 테이블 관련 파일 제거 - monster 테이블 추가 - 데이터 작업 가이드 txt 파일 추가 --- .../{MonsterMaster.meta => Monster.meta} | 2 +- .../Monster101.asset} | 10 +++-- .../Monster101.asset.meta} | 2 +- .../Monster102.asset} | 10 +++-- .../Monster102.asset.meta} | 2 +- .../Monster103.asset} | 10 +++-- .../Monster103.asset.meta} | 2 +- .../Monster104.asset} | 10 +++-- .../Monster104.asset.meta} | 2 +- .../Monster105.asset} | 10 +++-- .../Monster/Monster105.asset.meta | 8 ++++ .../MonsterMaster/Data_Row5.asset.meta | 8 ---- Assets/Data/ScriptableObjects/WaveMaster.meta | 8 ---- .../WaveMaster/Data_Row1.asset | 20 ---------- .../WaveMaster/Data_Row1.asset.meta | 8 ---- .../WaveMaster/Data_Row2.asset | 20 ---------- .../WaveMaster/Data_Row2.asset.meta | 8 ---- .../WaveMaster/Data_Row3.asset | 20 ---------- .../WaveMaster/Data_Row3.asset.meta | 8 ---- .../WaveMaster/Data_Row4.asset | 20 ---------- .../WaveMaster/Data_Row4.asset.meta | 8 ---- .../WaveMaster/Data_Row5.asset | 20 ---------- .../WaveMaster/Data_Row5.asset.meta | 8 ---- .../{MonsterMasterData.cs => MonsterData.cs} | 11 ++++-- .../Scripts/DataClasses/MonsterData.cs.meta | 2 + .../DataClasses/MonsterMasterData.cs.meta | 2 - .../Scripts/DataClasses/WaveMasterData.cs | 26 ------------- .../DataClasses/WaveMasterData.cs.meta | 2 - ...aster_schema.json => .Monster_schema.json} | 14 ++++++- GameData/.WaveMaster_schema.json | 38 ------------------- GameData/Monster.csv | 6 +++ GameData/MonsterMaster.csv | 6 --- GameData/WaveMaster.csv | 6 --- 데이터 작업 가이드.txt | 26 +++++++++++++ 34 files changed, 98 insertions(+), 265 deletions(-) rename Assets/Data/ScriptableObjects/{MonsterMaster.meta => Monster.meta} (77%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row1.asset => Monster/Monster101.asset} (77%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row4.asset.meta => Monster/Monster101.asset.meta} (79%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row2.asset => Monster/Monster102.asset} (77%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row2.asset.meta => Monster/Monster102.asset.meta} (79%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row3.asset => Monster/Monster103.asset} (77%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row1.asset.meta => Monster/Monster103.asset.meta} (79%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row4.asset => Monster/Monster104.asset} (77%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row3.asset.meta => Monster/Monster104.asset.meta} (79%) rename Assets/Data/ScriptableObjects/{MonsterMaster/Data_Row5.asset => Monster/Monster105.asset} (77%) create mode 100644 Assets/Data/ScriptableObjects/Monster/Monster105.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset.meta delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset delete mode 100644 Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset.meta rename Assets/Data/Scripts/DataClasses/{MonsterMasterData.cs => MonsterData.cs} (67%) create mode 100644 Assets/Data/Scripts/DataClasses/MonsterData.cs.meta delete mode 100644 Assets/Data/Scripts/DataClasses/MonsterMasterData.cs.meta delete mode 100644 Assets/Data/Scripts/DataClasses/WaveMasterData.cs delete mode 100644 Assets/Data/Scripts/DataClasses/WaveMasterData.cs.meta rename GameData/{.MonsterMaster_schema.json => .Monster_schema.json} (77%) delete mode 100644 GameData/.WaveMaster_schema.json create mode 100644 GameData/Monster.csv delete mode 100644 GameData/MonsterMaster.csv delete mode 100644 GameData/WaveMaster.csv create mode 100644 데이터 작업 가이드.txt diff --git a/Assets/Data/ScriptableObjects/MonsterMaster.meta b/Assets/Data/ScriptableObjects/Monster.meta similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster.meta rename to Assets/Data/ScriptableObjects/Monster.meta index 0dd4c8d..4042733 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster.meta +++ b/Assets/Data/ScriptableObjects/Monster.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 25ab0c46cf6af334daf6817ed418e178 +guid: feb45c3991f6f154a85c05158e784171 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset b/Assets/Data/ScriptableObjects/Monster/Monster101.asset similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset rename to Assets/Data/ScriptableObjects/Monster/Monster101.asset index de4de52..e152544 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset +++ b/Assets/Data/ScriptableObjects/Monster/Monster101.asset @@ -9,10 +9,10 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3} - m_Name: Data_Row1 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData - monsterId: 101 + m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3} + m_Name: Monster101 + m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData + id: 101 memo: "Grunt(\uAE30\uBCF8)" moveSpeed: 2.6 maxHp: 30 @@ -20,3 +20,5 @@ MonoBehaviour: atkDamage: 3 atkIntervalSec: 1.2 prefabPath: Assets/Prefabs/EnemyTest + cost: 1 + weight: 1 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset.meta b/Assets/Data/ScriptableObjects/Monster/Monster101.asset.meta similarity index 79% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset.meta rename to Assets/Data/ScriptableObjects/Monster/Monster101.asset.meta index c7c6753..7c6cfb8 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset.meta +++ b/Assets/Data/ScriptableObjects/Monster/Monster101.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4566aa20a775cd04bac99329bb560b07 +guid: cec2336a0be4b6c4eb954ac3d08aa8d9 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset b/Assets/Data/ScriptableObjects/Monster/Monster102.asset similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset rename to Assets/Data/ScriptableObjects/Monster/Monster102.asset index 88616c0..eca53ca 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset +++ b/Assets/Data/ScriptableObjects/Monster/Monster102.asset @@ -9,10 +9,10 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3} - m_Name: Data_Row2 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData - monsterId: 102 + m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3} + m_Name: Monster102 + m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData + id: 102 memo: "Fast(\uBE60\uB984/\uC57D\uD568)" moveSpeed: 3.4 maxHp: 18 @@ -20,3 +20,5 @@ MonoBehaviour: atkDamage: 2 atkIntervalSec: 1 prefabPath: Assets/Prefabs/MonsterTest + cost: 2 + weight: 0.5 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset.meta b/Assets/Data/ScriptableObjects/Monster/Monster102.asset.meta similarity index 79% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset.meta rename to Assets/Data/ScriptableObjects/Monster/Monster102.asset.meta index 6c41d77..a55b726 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row2.asset.meta +++ b/Assets/Data/ScriptableObjects/Monster/Monster102.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0dc5ffa309a736b4a95faeb0ba9a9870 +guid: fde07a19ade09f044aca9151f407d073 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset b/Assets/Data/ScriptableObjects/Monster/Monster103.asset similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset rename to Assets/Data/ScriptableObjects/Monster/Monster103.asset index 4892521..3f7d113 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset +++ b/Assets/Data/ScriptableObjects/Monster/Monster103.asset @@ -9,10 +9,10 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3} - m_Name: Data_Row3 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData - monsterId: 103 + m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3} + m_Name: Monster103 + m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData + id: 103 memo: "Tank(\uB290\uB9BC/\uB2E8\uB2E8)" moveSpeed: 2 maxHp: 70 @@ -20,3 +20,5 @@ MonoBehaviour: atkDamage: 4 atkIntervalSec: 1.5 prefabPath: Assets/Prefabs/Core + cost: 5 + weight: 0.2 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset.meta b/Assets/Data/ScriptableObjects/Monster/Monster103.asset.meta similarity index 79% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset.meta rename to Assets/Data/ScriptableObjects/Monster/Monster103.asset.meta index 1c38d15..48c74d6 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row1.asset.meta +++ b/Assets/Data/ScriptableObjects/Monster/Monster103.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a7b8bd34df6e81441afcbac36c0a1340 +guid: 5687251677f89394fbdc083ff34e06d0 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset b/Assets/Data/ScriptableObjects/Monster/Monster104.asset similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset rename to Assets/Data/ScriptableObjects/Monster/Monster104.asset index 3d5f937..a3a3e7e 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row4.asset +++ b/Assets/Data/ScriptableObjects/Monster/Monster104.asset @@ -9,10 +9,10 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3} - m_Name: Data_Row4 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData - monsterId: 104 + m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3} + m_Name: Monster104 + m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData + id: 104 memo: "Ranged(\uC6D0\uAC70\uB9AC/\uC57D\uD568)" moveSpeed: 2.4 maxHp: 22 @@ -20,3 +20,5 @@ MonoBehaviour: atkDamage: 2 atkIntervalSec: 1.4 prefabPath: Assets/Prefabs/Resource + cost: 3 + weight: 0.333 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset.meta b/Assets/Data/ScriptableObjects/Monster/Monster104.asset.meta similarity index 79% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset.meta rename to Assets/Data/ScriptableObjects/Monster/Monster104.asset.meta index c6a035f..ddfa295 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row3.asset.meta +++ b/Assets/Data/ScriptableObjects/Monster/Monster104.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e003d9bc04014834b8d4e6bead723568 +guid: 3663ac7b7b070cb4bad5f4d05e73899d NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset b/Assets/Data/ScriptableObjects/Monster/Monster105.asset similarity index 77% rename from Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset rename to Assets/Data/ScriptableObjects/Monster/Monster105.asset index 134ebcf..171c90c 100644 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset +++ b/Assets/Data/ScriptableObjects/Monster/Monster105.asset @@ -9,10 +9,10 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3} - m_Name: Data_Row5 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData - monsterId: 105 + m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3} + m_Name: Monster105 + m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData + id: 105 memo: "Elite(\uC18C\uC218 \uC815\uC608)" moveSpeed: 2.8 maxHp: 120 @@ -20,3 +20,5 @@ MonoBehaviour: atkDamage: 7 atkIntervalSec: 1.3 prefabPath: Assets/Prefabs/ResourcePickup + cost: 10 + weight: 0.1 diff --git a/Assets/Data/ScriptableObjects/Monster/Monster105.asset.meta b/Assets/Data/ScriptableObjects/Monster/Monster105.asset.meta new file mode 100644 index 0000000..a6a165f --- /dev/null +++ b/Assets/Data/ScriptableObjects/Monster/Monster105.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 329fdb6e92ee4064bb41ca8e0fa4c86c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset.meta b/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset.meta deleted file mode 100644 index fcb7200..0000000 --- a/Assets/Data/ScriptableObjects/MonsterMaster/Data_Row5.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5b634a7c580ad824381bcbcaaa1d7047 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster.meta b/Assets/Data/ScriptableObjects/WaveMaster.meta deleted file mode 100644 index 8b9043c..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 47db706e7f90d914f8b05b88b626b406 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset deleted file mode 100644 index f7174fb..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset +++ /dev/null @@ -1,20 +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: b0f6af2548b6a6049b54c1d50e7a6c53, type: 3} - m_Name: Data_Row1 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.WaveMasterData - waveId: 1 - waveKey: WAVE_001 - memo: - durationSec: 90 - monsterIdList: 101 - monsterCountList: 10 diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset.meta b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset.meta deleted file mode 100644 index e3f919e..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row1.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 916cc5c2dde7f79408a2ec3a8830f1f6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset deleted file mode 100644 index 2d9d064..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset +++ /dev/null @@ -1,20 +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: b0f6af2548b6a6049b54c1d50e7a6c53, type: 3} - m_Name: Data_Row2 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.WaveMasterData - waveId: 2 - waveKey: WAVE_002 - memo: - durationSec: 90 - monsterIdList: 102 - monsterCountList: 20 diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset.meta b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset.meta deleted file mode 100644 index 5d854d7..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row2.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d5315e12bb9dc440ae593ab703891d6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset deleted file mode 100644 index 8c158d3..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset +++ /dev/null @@ -1,20 +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: b0f6af2548b6a6049b54c1d50e7a6c53, type: 3} - m_Name: Data_Row3 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.WaveMasterData - waveId: 3 - waveKey: WAVE_003 - memo: - durationSec: 90 - monsterIdList: 103 - monsterCountList: 5 diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset.meta b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset.meta deleted file mode 100644 index d716398..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row3.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 97dc48f8cf531c847942d3eef6dc615c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset deleted file mode 100644 index 9e2b0db..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset +++ /dev/null @@ -1,20 +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: b0f6af2548b6a6049b54c1d50e7a6c53, type: 3} - m_Name: Data_Row4 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.WaveMasterData - waveId: 4 - waveKey: WAVE_004 - memo: - durationSec: 90 - monsterIdList: 104 - monsterCountList: 3 diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset.meta b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset.meta deleted file mode 100644 index e76c8ee..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row4.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f555b6db60f636d40b24efeb999fd200 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset deleted file mode 100644 index 357e20e..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset +++ /dev/null @@ -1,20 +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: b0f6af2548b6a6049b54c1d50e7a6c53, type: 3} - m_Name: Data_Row5 - m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.WaveMasterData - waveId: 5 - waveKey: WAVE_005 - memo: - durationSec: 90 - monsterIdList: 105 - monsterCountList: 2 diff --git a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset.meta b/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset.meta deleted file mode 100644 index 6e7854c..0000000 --- a/Assets/Data/ScriptableObjects/WaveMaster/Data_Row5.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 820652adf90840e45a832fd8985615b9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Data/Scripts/DataClasses/MonsterMasterData.cs b/Assets/Data/Scripts/DataClasses/MonsterData.cs similarity index 67% rename from Assets/Data/Scripts/DataClasses/MonsterMasterData.cs rename to Assets/Data/Scripts/DataClasses/MonsterData.cs index 19d6f50..1ade7d0 100644 --- a/Assets/Data/Scripts/DataClasses/MonsterMasterData.cs +++ b/Assets/Data/Scripts/DataClasses/MonsterData.cs @@ -2,15 +2,16 @@ // 생성 스크립트: DataTools/generate_csharp_classes.py using UnityEngine; +using System.Collections.Generic; // 리스트 지원을 위해 추가 namespace Northbound.Data { - [CreateAssetMenu(fileName = "MonsterMasterData", menuName = "DigAndDefend/MonsterMaster Data")] - public class MonsterMasterData : ScriptableObject + [CreateAssetMenu(fileName = "MonsterData", menuName = "DigAndDefend/Monster Data")] + public class MonsterData : ScriptableObject { [Header("기본 정보")] /// 몬스터 고유 ID - public int monsterId; + public int id; /// 메모 public string memo; /// 이동속도 @@ -25,6 +26,10 @@ namespace Northbound.Data public float atkIntervalSec; /// 프리팹/리소스 경로 public string prefabPath; + /// 몬스터 난이도 점수 + public int cost; + /// 등장 가중치 + public float weight; } } \ No newline at end of file diff --git a/Assets/Data/Scripts/DataClasses/MonsterData.cs.meta b/Assets/Data/Scripts/DataClasses/MonsterData.cs.meta new file mode 100644 index 0000000..f7b6df0 --- /dev/null +++ b/Assets/Data/Scripts/DataClasses/MonsterData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 71f75742bf2af604ba55221e30379f4a \ No newline at end of file diff --git a/Assets/Data/Scripts/DataClasses/MonsterMasterData.cs.meta b/Assets/Data/Scripts/DataClasses/MonsterMasterData.cs.meta deleted file mode 100644 index 22a979d..0000000 --- a/Assets/Data/Scripts/DataClasses/MonsterMasterData.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: eb34e2098ca7d654a81d495ad6e6f21b \ No newline at end of file diff --git a/Assets/Data/Scripts/DataClasses/WaveMasterData.cs b/Assets/Data/Scripts/DataClasses/WaveMasterData.cs deleted file mode 100644 index ce1756d..0000000 --- a/Assets/Data/Scripts/DataClasses/WaveMasterData.cs +++ /dev/null @@ -1,26 +0,0 @@ -// 이 파일은 자동 생성되었습니다. 직접 수정하지 마세요! -// 생성 스크립트: DataTools/generate_csharp_classes.py - -using UnityEngine; - -namespace Northbound.Data -{ - [CreateAssetMenu(fileName = "WaveMasterData", menuName = "DigAndDefend/WaveMaster Data")] - public class WaveMasterData : ScriptableObject - { - [Header("기본 정보")] - /// 웨이브 고유 ID - public int waveId; - /// 사람이 읽는 고정 키 (예: WAVE_001) - public string waveKey; - /// 기획/개발 메모(비출력) - public string memo; - /// 웨이브 주기(초). 기본 90 - public int durationSec; - /// 해당 웨이브에서 소환할 몬스터 ID 목록 - public string monsterIdList; - /// 해당 웨이브에서 소환할 몬스터 ID 별 소환 개수 - public string monsterCountList; - - } -} \ No newline at end of file diff --git a/Assets/Data/Scripts/DataClasses/WaveMasterData.cs.meta b/Assets/Data/Scripts/DataClasses/WaveMasterData.cs.meta deleted file mode 100644 index 5bbbaeb..0000000 --- a/Assets/Data/Scripts/DataClasses/WaveMasterData.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: b0f6af2548b6a6049b54c1d50e7a6c53 \ No newline at end of file diff --git a/GameData/.MonsterMaster_schema.json b/GameData/.Monster_schema.json similarity index 77% rename from GameData/.MonsterMaster_schema.json rename to GameData/.Monster_schema.json index 5d6e1af..dcf9c29 100644 --- a/GameData/.MonsterMaster_schema.json +++ b/GameData/.Monster_schema.json @@ -1,6 +1,6 @@ [ { - "name": "monster_id", + "name": "id", "type": "int", "condition": null, "description": "몬스터 고유 ID" @@ -46,5 +46,17 @@ "type": "string", "condition": null, "description": "프리팹/리소스 경로" + }, + { + "name": "cost", + "type": "int", + "condition": null, + "description": "몬스터 난이도 점수" + }, + { + "name": "weight", + "type": "float", + "condition": null, + "description": "등장 가중치" } ] \ No newline at end of file diff --git a/GameData/.WaveMaster_schema.json b/GameData/.WaveMaster_schema.json deleted file mode 100644 index bb3441c..0000000 --- a/GameData/.WaveMaster_schema.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "name": "wave_id", - "type": "int", - "condition": null, - "description": "웨이브 고유 ID" - }, - { - "name": "wave_key", - "type": "string", - "condition": null, - "description": "사람이 읽는 고정 키 (예: WAVE_001)" - }, - { - "name": "memo", - "type": "string", - "condition": null, - "description": "기획/개발 메모(비출력)" - }, - { - "name": "duration_sec", - "type": "int", - "condition": null, - "description": "웨이브 주기(초). 기본 90" - }, - { - "name": "monster_id_list", - "type": "string", - "condition": null, - "description": "해당 웨이브에서 소환할 몬스터 ID 목록" - }, - { - "name": "monster_count_list", - "type": "string", - "condition": null, - "description": "해당 웨이브에서 소환할 몬스터 ID 별 소환 개수" - } -] \ No newline at end of file diff --git a/GameData/Monster.csv b/GameData/Monster.csv new file mode 100644 index 0000000..d342310 --- /dev/null +++ b/GameData/Monster.csv @@ -0,0 +1,6 @@ +id,memo,move_speed,max_hp,atk_range,atk_damage,atk_interval_sec,prefab_path,cost,weight +101,Grunt(기본),2.6,30,1,3,1.2,Assets/Prefabs/EnemyTest,1,1 +102,Fast(빠름/약함),3.4,18,1,2,1,Assets/Prefabs/MonsterTest,2,0.5 +103,Tank(느림/단단),2,70,1,4,1.5,Assets/Prefabs/Core,5,0.2 +104,Ranged(원거리/약함),2.4,22,5,2,1.4,Assets/Prefabs/Resource,3,0.333 +105,Elite(소수 정예),2.8,120,1,7,1.3,Assets/Prefabs/ResourcePickup,10,0.1 diff --git a/GameData/MonsterMaster.csv b/GameData/MonsterMaster.csv deleted file mode 100644 index 1c0c604..0000000 --- a/GameData/MonsterMaster.csv +++ /dev/null @@ -1,6 +0,0 @@ -monster_id,memo,move_speed,max_hp,atk_range,atk_damage,atk_interval_sec,prefab_path -101,Grunt(기본),2.6,30,1,3,1.2,Assets/Prefabs/EnemyTest -102,Fast(빠름/약함),3.4,18,1,2,1,Assets/Prefabs/MonsterTest -103,Tank(느림/단단),2,70,1,4,1.5,Assets/Prefabs/Core -104,Ranged(원거리/약함),2.4,22,5,2,1.4,Assets/Prefabs/Resource -105,Elite(소수 정예),2.8,120,1,7,1.3,Assets/Prefabs/ResourcePickup diff --git a/GameData/WaveMaster.csv b/GameData/WaveMaster.csv deleted file mode 100644 index 36568bf..0000000 --- a/GameData/WaveMaster.csv +++ /dev/null @@ -1,6 +0,0 @@ -wave_id,wave_key,memo,duration_sec,monster_id_list,monster_count_list -1,WAVE_001,,90,101,10 -2,WAVE_002,,90,102,20 -3,WAVE_003,,90,103,5 -4,WAVE_004,,90,104,3 -5,WAVE_005,,90,105,2 diff --git a/데이터 작업 가이드.txt b/데이터 작업 가이드.txt new file mode 100644 index 0000000..7381a87 --- /dev/null +++ b/데이터 작업 가이드.txt @@ -0,0 +1,26 @@ + +Step 1: 프로그램 실행 + 프로젝트 폴더에서 PowerShell 실행 후 + .\sync-from-notion.ps1 + +Step 2: 스키마 선택 + 동기화할 스키마: + 1. Towers + 2. Enemies + 3. 전체 + + 선택: 1 + +Step 3: 결과 확인 + 📋 Towers 동기화 + ✅ 11개 필드 로드 + 💾 백업: Towers_20260122_143022.xlsx + ✅ 저장 완료: GameData\Towers.xlsx + +Step 4: Excel등에서 csv파일의 데이터 입력/수정 + +Step 5: Unity 에디터 상단의 Northbound 탭 => Data Importer 메뉴 실행 + +Step 6: Unity ScriptableObject(프리팹, 애셋) 생성 (자동) + +Step 7: 수정한 csv 파일과 생성된 SO 파일을 모두 commit & push \ No newline at end of file