Files
Northbound/Assets/Data/Scripts/DataClasses/TowerData.cs

72 lines
2.2 KiB
C#

// 이 파일은 자동 생성되었습니다. 직접 수정하지 마세요!
// 생성 스크립트: DataTools/generate_csharp_classes.py
using UnityEngine;
using System.Collections.Generic; // 리스트 지원을 위해 추가
using Northbound;
namespace Northbound.Data
{
[CreateAssetMenu(fileName = "TowerData", menuName = "Northbound/Tower Data")]
public class TowerData : BuildingData
{
[Header("기본 정보")]
/// <summary>고유 ID</summary>
public int id;
/// <summary>기획 메모</summary>
public string memo;
/// <summary>건설 비용 (mana=20) (mana=50; iron=10)</summary>
public int mana;
/// <summary>건설 노동량</summary>
public float manpower;
/// <summary>X 그리드 차지 공간</summary>
public int sizeX;
/// <summary>Y 그리드 차지 공간</summary>
public int sizeY;
/// <summary>Z 차지 공간</summary>
public int sizeZ;
/// <summary>체력</summary>
public int maxHp;
/// <summary>사정거리</summary>
public int atkRange;
/// <summary>데미지</summary>
public int atkDamage;
/// <summary>공격 주기</summary>
public float atkIntervalSec;
/// <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();
}
}
}