Menu
CoddyTech

Данные о башнях

Урок 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
challenge icon

Задание

Средне

Перенеси характеристики каждой башни в ресурс TowerData.

  1. В TowerData.cs добавь [CreateAssetMenu] и открытые поля towerName (строка), cost и damage (целые числа), range и fireRate (числа с плавающей точкой).
  2. В Tower замени эти четыре поля на public TowerData data; и используй data.range, data.damage и data.fireRate.
  3. В BuildManager списывай стоимость towerPrefab.data.cost.

Нажми «Играть»: Arrow сражается как и раньше, но теперь использует ArrowData. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;

// Будет позже: характеристики одного типа башни в виде ассета.
public class TowerData : ScriptableObject
{
}

Все уроки раздела Игра на Unity: Tower Defense

Потренируйтесь самостоятельно: Песочница Unity