Dane wież
Lekcja 14 z 25 w kursie Gra w Unity: Obrona wieży w Coddy.
Nadchodzi druga wieża — armata z własnymi parametrami. Podobnie jak w przypadku przeciwników, parametry trafiają do zasobu TowerData, po jednym na każdy rodzaj: projekt zawiera ArrowData (koszt 50, obrażenia 2, zasięg 4.5, fireRate 1.5). Prefab określa wygląd wieży, a jej skrypt Tower wskazuje na jej zasób.
[CreateAssetMenu] umieszczone nad klasą ScriptableObject dodaje ją do menu Create w Unity, dzięki czemu nowe zasoby można tworzyć w edytorze. Zasób przeciwników ma taki atrybut:
[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObjectWyzwanie
ŚredniPrzenieś statystyki każdej wieży do zasobu TowerData.
- W pliku
TowerData.csdodaj[CreateAssetMenu]oraz publiczne polatowerName(typu string),costidamage(typu int),rangeifireRate(typu float). - W klasie
Towerzastąp te cztery pola deklaracjąpublic TowerData data;i odczytuj wartości zdata.range,data.damageidata.fireRate. - W klasie
BuildManagerpobieraj opłatętowerPrefab.data.cost.
Naciśnij „Graj”: Arrow walczy tak jak wcześniej, ale teraz korzysta z ArrowData. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
// Pojawi się później: statystyki jednego rodzaju wieży jako zasób.
public class TowerData : ScriptableObject
{
}
Wszystkie lekcje w sekcji Gra w Unity: Obrona wieży
Poćwicz samodzielnie: Edytor online Unity