Données des tours
Leçon 14 sur 25 du cours Jeu Unity : défense de tours de Coddy.
Une deuxième tour arrive, le Canon, avec ses propres caractéristiques. Comme pour les ennemis, les statistiques sont regroupées dans un asset, TowerData, un par type : le projet possède ArrowData (coût 50, dégâts 2, portée 4.5, fireRate 1.5). Le prefab conserve l’apparence de la tour, et son script Tower pointe vers son asset.
[CreateAssetMenu] au-dessus d’une classe ScriptableObject l’ajoute au menu Create de Unity, afin de pouvoir créer de nouveaux assets dans l’éditeur. L’asset des ennemis en possède un :
[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObjectDéfi
MoyenDéplace les statistiques de chaque tour dans un asset TowerData.
- Dans
TowerData.cs, ajoute[CreateAssetMenu]et les champs publicstowerName(une chaîne de caractères),costetdamage(des entiers),rangeetfireRate(des nombres à virgule flottante). - Dans
Tower, remplace ces quatre champs parpublic TowerData data;et utilisedata.range,data.damageetdata.fireRate. - Dans
BuildManager, paietowerPrefab.data.cost.
Appuie sur « Jouer » : Arrow combat comme avant, mais utilise désormais ArrowData. Puis appuie sur « Vérifier ».
Essayez vous-même
using UnityEngine;
// À venir : les caractéristiques d’un type de tour, sous forme d’asset.
public class TowerData : ScriptableObject
{
}
Toutes les leçons de Jeu Unity : défense de tours
Entraînez-vous par vous-même : Playground Unity