Menu
CoddyTech
flag Ar iconالعربيةdown icon

RequireComponent

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 33 من 67.

تُخبر [RequireComponent(typeof(Rigidbody))]، المكتوبة فوق صنف البرنامج النصي، Unity بأن البرنامج النصي لا يمكنه العمل من دون وجود Rigidbody على الكائن نفسه:

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

تطبّق Unity ذلك عند إضافة البرنامج النصي إلى كائن، سواء من Inspector أو باستخدام AddComponent: إذا لم يكن للكائن Rigidbody، تضيف Unity واحدًا. وما دام Jumper موجودًا على الكائن، يرفض Inspector إزالة Rigidbody هذا. لذا فإن GetComponent يعثر دائمًا على واحد هنا، ولا يحتاج Jumper إلى إجراء فحص.

لكن هذا الـattribute لا يُطبَّق بأثر رجعي: فالكائنات التي كان عليها Jumper قبل كتابة السطر لن تحصل على Rigidbody حتى يُزال البرنامج النصي ثم يُضاف مجددًا. يمكن لـattribute واحد أن يحدّد ما يصل إلى ثلاثة أنواع، كما في [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))]، ويمكن للصنف أن يحمل عدة attributes.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات البرمجة النصية في Unity