Menu
CoddyTech

Dati delle torri

Lezione 14 di 25 del corso Gioco Unity: Tower Defense di Coddy.

Sta arrivando una seconda torre, il Cannone, con valori propri. Come per i nemici, le statistiche vengono spostate in una risorsa, TowerData, una per ogni tipo: il progetto ha ArrowData (costo 50, danno 2, gittata 4.5, fireRate 1.5). Il prefab mantiene l’aspetto della torre e il suo script Tower punta alla relativa risorsa.

[CreateAssetMenu] sopra una classe ScriptableObject la inserisce nel menu Create di Unity, così si possono creare nuove risorse nell’Editor. La risorsa dei nemici ne ha uno:

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

Sfida

Medio

Sposta le statistiche di ogni torre in una risorsa TowerData.

  1. In TowerData.cs, aggiungi [CreateAssetMenu] e i campi pubblici towerName (una stringa), cost e damage (interi), range e fireRate (numeri a virgola mobile).
  2. In Tower, sostituisci quei quattro campi con public TowerData data; e leggi data.range, data.damage e data.fireRate.
  3. In BuildManager, paga towerPrefab.data.cost.

Premi «Gioca»: la torre Arrow combatte come prima, ora usando ArrowData. Poi premi «Verifica».

Provalo tu

using UnityEngine;

// Verrà aggiunto più avanti: le statistiche di un tipo di torre, come asset.
public class TowerData : ScriptableObject
{
}

Tutte le lezioni di Gioco Unity: Tower Defense

Esercitati da solo: Playground Unity