웨이브, 몬스터 데이터 스키마 변경
- waveMaster, monsterMaster 테이블 관련 파일 제거 - monster 테이블 추가 - 데이터 작업 가이드 txt 파일 추가
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 25ab0c46cf6af334daf6817ed418e178
|
guid: feb45c3991f6f154a85c05158e784171
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -9,10 +9,10 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3}
|
m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3}
|
||||||
m_Name: Data_Row1
|
m_Name: Monster101
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData
|
||||||
monsterId: 101
|
id: 101
|
||||||
memo: "Grunt(\uAE30\uBCF8)"
|
memo: "Grunt(\uAE30\uBCF8)"
|
||||||
moveSpeed: 2.6
|
moveSpeed: 2.6
|
||||||
maxHp: 30
|
maxHp: 30
|
||||||
@@ -20,3 +20,5 @@ MonoBehaviour:
|
|||||||
atkDamage: 3
|
atkDamage: 3
|
||||||
atkIntervalSec: 1.2
|
atkIntervalSec: 1.2
|
||||||
prefabPath: Assets/Prefabs/EnemyTest
|
prefabPath: Assets/Prefabs/EnemyTest
|
||||||
|
cost: 1
|
||||||
|
weight: 1
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4566aa20a775cd04bac99329bb560b07
|
guid: cec2336a0be4b6c4eb954ac3d08aa8d9
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -9,10 +9,10 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3}
|
m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3}
|
||||||
m_Name: Data_Row2
|
m_Name: Monster102
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData
|
||||||
monsterId: 102
|
id: 102
|
||||||
memo: "Fast(\uBE60\uB984/\uC57D\uD568)"
|
memo: "Fast(\uBE60\uB984/\uC57D\uD568)"
|
||||||
moveSpeed: 3.4
|
moveSpeed: 3.4
|
||||||
maxHp: 18
|
maxHp: 18
|
||||||
@@ -20,3 +20,5 @@ MonoBehaviour:
|
|||||||
atkDamage: 2
|
atkDamage: 2
|
||||||
atkIntervalSec: 1
|
atkIntervalSec: 1
|
||||||
prefabPath: Assets/Prefabs/MonsterTest
|
prefabPath: Assets/Prefabs/MonsterTest
|
||||||
|
cost: 2
|
||||||
|
weight: 0.5
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 0dc5ffa309a736b4a95faeb0ba9a9870
|
guid: fde07a19ade09f044aca9151f407d073
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -9,10 +9,10 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3}
|
m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3}
|
||||||
m_Name: Data_Row3
|
m_Name: Monster103
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData
|
||||||
monsterId: 103
|
id: 103
|
||||||
memo: "Tank(\uB290\uB9BC/\uB2E8\uB2E8)"
|
memo: "Tank(\uB290\uB9BC/\uB2E8\uB2E8)"
|
||||||
moveSpeed: 2
|
moveSpeed: 2
|
||||||
maxHp: 70
|
maxHp: 70
|
||||||
@@ -20,3 +20,5 @@ MonoBehaviour:
|
|||||||
atkDamage: 4
|
atkDamage: 4
|
||||||
atkIntervalSec: 1.5
|
atkIntervalSec: 1.5
|
||||||
prefabPath: Assets/Prefabs/Core
|
prefabPath: Assets/Prefabs/Core
|
||||||
|
cost: 5
|
||||||
|
weight: 0.2
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a7b8bd34df6e81441afcbac36c0a1340
|
guid: 5687251677f89394fbdc083ff34e06d0
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -9,10 +9,10 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3}
|
m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3}
|
||||||
m_Name: Data_Row4
|
m_Name: Monster104
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData
|
||||||
monsterId: 104
|
id: 104
|
||||||
memo: "Ranged(\uC6D0\uAC70\uB9AC/\uC57D\uD568)"
|
memo: "Ranged(\uC6D0\uAC70\uB9AC/\uC57D\uD568)"
|
||||||
moveSpeed: 2.4
|
moveSpeed: 2.4
|
||||||
maxHp: 22
|
maxHp: 22
|
||||||
@@ -20,3 +20,5 @@ MonoBehaviour:
|
|||||||
atkDamage: 2
|
atkDamage: 2
|
||||||
atkIntervalSec: 1.4
|
atkIntervalSec: 1.4
|
||||||
prefabPath: Assets/Prefabs/Resource
|
prefabPath: Assets/Prefabs/Resource
|
||||||
|
cost: 3
|
||||||
|
weight: 0.333
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: e003d9bc04014834b8d4e6bead723568
|
guid: 3663ac7b7b070cb4bad5f4d05e73899d
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -9,10 +9,10 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: eb34e2098ca7d654a81d495ad6e6f21b, type: 3}
|
m_Script: {fileID: 11500000, guid: 71f75742bf2af604ba55221e30379f4a, type: 3}
|
||||||
m_Name: Data_Row5
|
m_Name: Monster105
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterMasterData
|
m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.MonsterData
|
||||||
monsterId: 105
|
id: 105
|
||||||
memo: "Elite(\uC18C\uC218 \uC815\uC608)"
|
memo: "Elite(\uC18C\uC218 \uC815\uC608)"
|
||||||
moveSpeed: 2.8
|
moveSpeed: 2.8
|
||||||
maxHp: 120
|
maxHp: 120
|
||||||
@@ -20,3 +20,5 @@ MonoBehaviour:
|
|||||||
atkDamage: 7
|
atkDamage: 7
|
||||||
atkIntervalSec: 1.3
|
atkIntervalSec: 1.3
|
||||||
prefabPath: Assets/Prefabs/ResourcePickup
|
prefabPath: Assets/Prefabs/ResourcePickup
|
||||||
|
cost: 10
|
||||||
|
weight: 0.1
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 329fdb6e92ee4064bb41ca8e0fa4c86c
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5b634a7c580ad824381bcbcaaa1d7047
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 47db706e7f90d914f8b05b88b626b406
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 916cc5c2dde7f79408a2ec3a8830f1f6
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0d5315e12bb9dc440ae593ab703891d6
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 97dc48f8cf531c847942d3eef6dc615c
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f555b6db60f636d40b24efeb999fd200
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 820652adf90840e45a832fd8985615b9
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -2,15 +2,16 @@
|
|||||||
// 생성 스크립트: DataTools/generate_csharp_classes.py
|
// 생성 스크립트: DataTools/generate_csharp_classes.py
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using System.Collections.Generic; // 리스트 지원을 위해 추가
|
||||||
|
|
||||||
namespace Northbound.Data
|
namespace Northbound.Data
|
||||||
{
|
{
|
||||||
[CreateAssetMenu(fileName = "MonsterMasterData", menuName = "DigAndDefend/MonsterMaster Data")]
|
[CreateAssetMenu(fileName = "MonsterData", menuName = "DigAndDefend/Monster Data")]
|
||||||
public class MonsterMasterData : ScriptableObject
|
public class MonsterData : ScriptableObject
|
||||||
{
|
{
|
||||||
[Header("기본 정보")]
|
[Header("기본 정보")]
|
||||||
/// <summary>몬스터 고유 ID</summary>
|
/// <summary>몬스터 고유 ID</summary>
|
||||||
public int monsterId;
|
public int id;
|
||||||
/// <summary>메모</summary>
|
/// <summary>메모</summary>
|
||||||
public string memo;
|
public string memo;
|
||||||
/// <summary>이동속도</summary>
|
/// <summary>이동속도</summary>
|
||||||
@@ -25,6 +26,10 @@ namespace Northbound.Data
|
|||||||
public float atkIntervalSec;
|
public float atkIntervalSec;
|
||||||
/// <summary>프리팹/리소스 경로</summary>
|
/// <summary>프리팹/리소스 경로</summary>
|
||||||
public string prefabPath;
|
public string prefabPath;
|
||||||
|
/// <summary>몬스터 난이도 점수</summary>
|
||||||
|
public int cost;
|
||||||
|
/// <summary>등장 가중치</summary>
|
||||||
|
public float weight;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
2
Assets/Data/Scripts/DataClasses/MonsterData.cs.meta
Normal file
2
Assets/Data/Scripts/DataClasses/MonsterData.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 71f75742bf2af604ba55221e30379f4a
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: eb34e2098ca7d654a81d495ad6e6f21b
|
|
||||||
@@ -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("기본 정보")]
|
|
||||||
/// <summary>웨이브 고유 ID</summary>
|
|
||||||
public int waveId;
|
|
||||||
/// <summary>사람이 읽는 고정 키 (예: WAVE_001)</summary>
|
|
||||||
public string waveKey;
|
|
||||||
/// <summary>기획/개발 메모(비출력)</summary>
|
|
||||||
public string memo;
|
|
||||||
/// <summary>웨이브 주기(초). 기본 90</summary>
|
|
||||||
public int durationSec;
|
|
||||||
/// <summary>해당 웨이브에서 소환할 몬스터 ID 목록</summary>
|
|
||||||
public string monsterIdList;
|
|
||||||
/// <summary>해당 웨이브에서 소환할 몬스터 ID 별 소환 개수</summary>
|
|
||||||
public string monsterCountList;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b0f6af2548b6a6049b54c1d50e7a6c53
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "monster_id",
|
"name": "id",
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"condition": null,
|
"condition": null,
|
||||||
"description": "몬스터 고유 ID"
|
"description": "몬스터 고유 ID"
|
||||||
@@ -46,5 +46,17 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"condition": null,
|
"condition": null,
|
||||||
"description": "프리팹/리소스 경로"
|
"description": "프리팹/리소스 경로"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cost",
|
||||||
|
"type": "int",
|
||||||
|
"condition": null,
|
||||||
|
"description": "몬스터 난이도 점수"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "weight",
|
||||||
|
"type": "float",
|
||||||
|
"condition": null,
|
||||||
|
"description": "등장 가중치"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -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 별 소환 개수"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
6
GameData/Monster.csv
Normal file
6
GameData/Monster.csv
Normal file
@@ -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
|
||||||
|
@@ -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
|
|
||||||
|
@@ -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
|
|
||||||
|
26
데이터 작업 가이드.txt
Normal file
26
데이터 작업 가이드.txt
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user