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 : ScriptableObjectSfida
MedioSposta le statistiche di ogni torre in una risorsa TowerData.
- In
TowerData.cs, aggiungi[CreateAssetMenu]e i campi pubblicitowerName(una stringa),costedamage(interi),rangeefireRate(numeri a virgola mobile). - In
Tower, sostituisci quei quattro campi conpublic TowerData data;e leggidata.range,data.damageedata.fireRate. - In
BuildManager, pagatowerPrefab.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