المكونات
في Craftland Studio PC، يمكن فهم ”المكون“ على أنه حاوية للبيانات.
الكيان نفسه هو مجرد معرف فارغ؛ ما يمكنه فعله وكيف يتصرف يعتمد كليًا على المكونات المرتبطة به.
- مكون الحركة: يخزن فقط البيانات المتعلقة بالحركة، مثل سرعة الحركة واتجاهها.
- مكون العرض: يخزن البيانات المطلوبة للعرض، مثل النماذج والمواد.
- مكون التصادم: يخزن البيانات الخاصة باكتشاف التصادم، مثل أحجام وأشكال التصادم.
يقوم النظام بتحديد الكيانات التي تمتلك مجموعات محددة من المكونات، ثم يحدد منطق السلوك الذي سيتم تطبيقه على هذه الكيانات بناءً على البيانات الموجودة داخل تلك المكونات.
إدارة المكونات
يمكنك الوصول إلى إدارة المكونات عبر القائمة


يمكنك أيضًا الوصول إلى واجهة إدارة المكون مباشرةً من المكون نفسه:


البرامج النصية
إن تثبيت البرامج النصية على أحد المكونات يعادل تثبيت البرامج النصية على جميع الكيانات التي تستخدم هذا المكون:



السمات
السمات الافتراضية
بشكل افتراضي، تمتلك معظم المكونات خصائص افتراضية بالفعل.

أنواع الخصائص
تصنف الخصائص إلى قابلة للقراءة فقط أو قابلة للكتابة. لا يمكن الاستعلام عن قيم الخصائص القابلة للقراءة فقط ولا يمكن تعديلها عبر البرمجة النصية؛ أما الخصائص القابلة للكتابة فيمكن تعديلها عبر البرمجة النصية.

الخصائص القابلة للكتابة

خصائص للقراءة فقط
يمكن أيضًا تحديد ما إذا كانت السمة قابلة للكتابة من خلال ما إذا كان إدخال الخاصية الافتراضية مظللًا أم لا.

على سبيل المثال، تختلف خاصية الموضع لكائن المشغل عن خاصية الموضع لمكون التحويل المستخدم من قبل كائنات أخرى؛ ولا يمكن تعديلها مباشرة عبر واجهة برمجة التطبيقات setProperty. لنقل المشغل، يجب استخدام واجهة برمجة التطبيقات teleportPlayer المخصصة:

استخدم واجهة برمجة التطبيقات Set Property API لتعديل السمات القابلة للكتابة؛ واستخدم واجهة برمجة التطبيقات Get Property API لاسترداد قيم السمات:

بالإضافة إلى ذلك، بعض الخصائص الافتراضية مخصصة للخادم فقط؛ ومحاولة تعديلها على العميل ستؤدي إلى حدوث خطأ. في نصوص المكونات، يتم تصفية هذه الخصائص تلقائيًا استنادًا إلى نظام تشغيل النص.
الخصائص المخصصة
بالإضافة إلى الخصائص الافتراضية المتاحة، يمكنك أيضًا إضافة خصائص مخصصة إلى المكونات. الخصائص المخصصة قابلة للكتابة وتعمل كخصائص ثنائية النظام.

اكتشاف الخصائص المخصصة
ربما لاحظت وجود رمز مراقبة بجوار الخصائص المخصصة:

يؤدي تمكين ميزة المراقبة هذه إلى قيام النظام بإرسال حدث ”تغيير خاصية مخصصة“ كلما تغيرت قيمة الخاصية، وفقًا للمنطق التالي:
- عندما يتم تعديل الخاصية عبر منطق جانب الخادم، يتم إرسال الحدث إلى كل من الخادم والعميل.
- عندما يتم تعديل الخاصية عبر منطق جانب العميل، يتم إرسال الحدث محليًا فقط.
يتيح حدث تغيير الخاصية المخصصة هذا اكتشافًا أكثر كفاءة لتغييرات الخاصية، مما يسمح بتعديل المنطق اللاحق وفقًا لذلك:

إذا تم تمكين اكتشاف التغييرات لعدة سمات مخصصة، يمكن لعنصر معرف السمة المخصصة تحديد السمة المحددة التي تم تغييرها:

عند استخدام عنصر ID الخاص بالخاصية المخصصة، يجب تحديد نوع المكون يدويًا
المكونات المرتبطة
قد يحتوي المكون على عدة مكونات مرتبطة. تحدد التركيبة أو المراجع أو التبعيات بين المكونات حدود القدرة المنطقية والبيانات للكيان.
على سبيل المثال، يرتبط مكون Player بمكونات Combatable و Scoreable ومكونات أخرى. يمكن لكيانات Player التي تستخدم مكون Player الوصول أيضًا إلى بيانات وأحداث Combatable و Scoreable.
