Данные о башнях
Урок 14 из 25 курса Игра на Unity: Tower Defense на Coddy.
Появляется вторая башня — Пушка, со своими параметрами. Как и у врагов, характеристики хранятся в ресурсе TowerData, по одному на каждый тип: в проекте есть ArrowData (стоимость 50, урон 2, дальность 4.5, fireRate 1.5). В префабе хранится внешний вид башни, а её скрипт Tower указывает на её ресурс.
Атрибут [CreateAssetMenu] над классом ScriptableObject добавляет его в меню Create в Unity, чтобы новые ресурсы можно было создавать в редакторе. У ресурса врага такой атрибут есть:
[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObjectЗадание
СреднеПеренеси характеристики каждой башни в ресурс TowerData.
- В
TowerData.csдобавь[CreateAssetMenu]и открытые поляtowerName(строка),costиdamage(целые числа),rangeиfireRate(числа с плавающей точкой). - В
Towerзамени эти четыре поля наpublic TowerData data;и используйdata.range,data.damageиdata.fireRate. - В
BuildManagerсписывай стоимостьtowerPrefab.data.cost.
Нажми «Играть»: Arrow сражается как и раньше, но теперь использует ArrowData. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
// Будет позже: характеристики одного типа башни в виде ассета.
public class TowerData : ScriptableObject
{
}
Все уроки раздела Игра на Unity: Tower Defense
Потренируйтесь самостоятельно: Песочница Unity