Menu
CoddyTech

بيانات الأبراج

الدرس 14 من 25 في دورة لعبة Unity: الدفاع عن الأبراج على 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: الدفاع عن الأبراج

تدرّب بنفسك: Playground لـ Unity