72 lines
2.2 KiB
C#
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();
|
|
}
|
|
}
|
|
} |