נתוני המגדל
שיעור 14 מתוך 25 בקורס משחק Unity: הגנת מגדלים של Coddy.
מגדל שני עומד להגיע: תותח, עם נתונים משלו. כמו אצל האויבים, הנתונים עוברים לנכס, TowerData, אחד לכל סוג: בפרויקט יש את ArrowData (עלות 50, נזק 2, טווח 4.5, fireRate 1.5). ה-prefab שומר את המראה של המגדל, וסקריפט 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.
לחצו על „שחק”: החץ נלחם כמו קודם, עכשיו באמצעות ArrowData. לאחר מכן לחצו על „בדיקה”.
נסו בעצמכם
using UnityEngine;
// בהמשך: הנתונים של סוג אחד של מגדל, כנכס.
public class TowerData : ScriptableObject
{
}
כל השיעורים ביחידה משחק Unity: הגנת מגדלים
תרגלו בעצמכם: Unity אונליין