بيانات الأبراج
الدرس 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التحدي
متوسطانقل إحصائيات كل برج إلى أصل TowerData.
- في
TowerData.cs، أضف[CreateAssetMenu]والحقول العامةtowerName(سلسلة نصية)، وcostوdamage(عددان صحيحان)، وrangeوfireRate(عددان عشريان). - في
Tower، استبدل تلك الحقول الأربعة بـpublic TowerData data;واقرأdata.rangeوdata.damageوdata.fireRate. - في
BuildManager، ادفعtowerPrefab.data.cost.
اضغط «العب»: يقاتل Arrow كما في السابق، ولكن الآن باستخدام ArrowData. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
// يأتي لاحقًا: إحصاءات نوع واحد من الأبراج، على هيئة أصل.
public class TowerData : ScriptableObject
{
}
جميع دروس لعبة Unity: الدفاع عن الأبراج
تدرّب بنفسك: Playground لـ Unity