Menu
CoddyTech

נתוני המגדל

שיעור 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
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.

לחצו על „שחק”: החץ נלחם כמו קודם, עכשיו באמצעות ArrowData. לאחר מכן לחצו על „בדיקה”.

נסו בעצמכם

using UnityEngine;

// בהמשך: הנתונים של סוג אחד של מגדל, כנכס.
public class TowerData : ScriptableObject
{
}

כל השיעורים ביחידה משחק Unity: הגנת מגדלים

תרגלו בעצמכם: Unity אונליין