데이터파이프라인 타워 부분 개선

This commit is contained in:
2026-02-01 11:31:50 +09:00
parent 9d870625ce
commit fe046611b0
43 changed files with 2181 additions and 45 deletions

View File

@@ -3,11 +3,12 @@
using UnityEngine;
using System.Collections.Generic; // 리스트 지원을 위해 추가
using Northbound;
namespace Northbound.Data
{
[CreateAssetMenu(fileName = "TowerData", menuName = "Northbound/Tower Data")]
public class TowerData : ScriptableObject
public class TowerData : BuildingData
{
[Header("기본 정보")]
/// <summary>고유 ID</summary>
@@ -22,6 +23,8 @@ namespace Northbound.Data
public int sizeX;
/// <summary>Y 그리드 차지 공간</summary>
public int sizeY;
/// <summary>Z 차지 공간</summary>
public int sizeZ;
/// <summary>체력</summary>
public int maxHp;
/// <summary>사정거리</summary>
@@ -30,8 +33,40 @@ namespace Northbound.Data
public int atkDamage;
/// <summary>공격 주기</summary>
public float atkIntervalSec;
/// <summary>프리팹/리소스 경로</summary>
public string prefabPath;
/// <summary>모델 경로</summary>
public string modelPath;
private bool fieldsSynced = false;
private void Awake()
{
SyncFields();
}
private void SyncFields()
{
if (fieldsSynced) return;
fieldsSynced = true;
// Map TowerData fields to BuildingData fields
if (string.IsNullOrEmpty(base.buildingName))
{
base.buildingName = memo;
}
base.width = sizeX;
base.length = sizeY;
base.height = sizeZ;
base.maxHealth = maxHp;
base.visionRange = atkRange;
base.requiredWorkAmount = manpower;
base.workPerInteraction = 10f;
base.interactionCooldown =1f;
base.providesVision = true;
}
public void EnsureSynced()
{
SyncFields();
}
}
}