Menu
CoddyTech

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 : ScriptableObject
challenge icon

Défi

Moyen

Déplace les statistiques de chaque tour dans un asset TowerData.

  1. Dans TowerData.cs, ajoute [CreateAssetMenu] et les champs publics towerName (une chaîne de caractères), cost et damage (des entiers), range et fireRate (des nombres à virgule flottante).
  2. Dans Tower, remplace ces quatre champs par public TowerData data; et utilise data.range, data.damage et data.fireRate.
  3. Dans BuildManager, paie towerPrefab.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