Menu
CoddyTech

Dados da Torre

Lição 14 de 25 do curso Jogo de Unity: Defesa de Torres da Coddy.

Uma segunda torre está a caminho: o Canhão, com seus próprios números. Assim como acontece com os inimigos, os atributos vão para um asset, TowerData, um para cada tipo: o projeto tem ArrowData (custo 50, dano 2, alcance 4.5, fireRate 1.5). O prefab mantém a aparência da torre, e o script Tower aponta para o asset dela.

[CreateAssetMenu] acima de uma classe ScriptableObject a coloca no menu Create do Unity, permitindo criar novos assets no Editor. O asset dos inimigos tem um:

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

Desafio

Médio

Mova as estatísticas de cada torre para um recurso TowerData.

  1. Em TowerData.cs, adicione [CreateAssetMenu] e os campos públicos towerName (uma string), cost e damage (inteiros), range e fireRate (números de ponto flutuante).
  2. Em Tower, substitua esses quatro campos por public TowerData data; e leia data.range, data.damage e data.fireRate.
  3. Em BuildManager, pague towerPrefab.data.cost.

Pressione “Jogar”: a Arrow luta como antes, agora usando ArrowData. Depois, pressione “Verificar”.

Experimente você mesmo

using UnityEngine;

// Vem depois: as estatísticas de um tipo de torre, como um asset.
public class TowerData : ScriptableObject
{
}

Todas as lições de Jogo de Unity: Defesa de Torres

Pratique por conta própria: Playground de Unity