Menu
CoddyTech

타워 데이터

Coddy의 Unity 게임: 타워 디펜스 코스 레슨. 25개 중 14번째.

TowerData로 옮겨지며, 종류마다 하나씩 있습니다. 프로젝트에는 ArrowData가 있습니다(비용 50, 피해량 2, 사거리 4.5, fireRate 1.5). 프리팹은 타워의 외형을 유지하고, Tower 스크립트는 해당 에셋을 참조합니다.

[CreateAssetMenu]를 ScriptableObject 클래스 위에 두면 Unity의 Create 메뉴에 해당 클래스가 표시되어 에디터에서 새 에셋을 만들 수 있습니다. 적 에셋에는 다음과 같은 항목이 있습니다.

[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObject
challenge icon

챌린지

중급

각 타워의 능력치를 TowerData 에셋으로 옮기세요.

  1. TowerData.cs에 [CreateAssetMenu]와 공개 필드 towerName(문자열), cost와 damage(정수), range와 fireRate(실수)를 추가하세요.
  2. Tower에서 해당 필드 네 개를 public TowerData data;로 바꾸고 data.range, data.damage, data.fireRate를 읽도록 하세요.
  3. BuildManager에서 towerPrefab.data.cost를 지불하세요.

‘플레이’를 누르세요. Arrow는 이전과 같이 싸우지만, 이제 ArrowData에서 능력치를 가져옵니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

// 나중에 구현: 한 종류의 타워 능력치를 에셋으로 정의합니다.
public class TowerData : ScriptableObject
{
}

Unity 게임: 타워 디펜스의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드