> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/flow-control/subsystem-in.md).

# Subsystem In

هذا البلوك يُستخدم لاستيراد قيمة من السيناريو الأب إلى نظام فرعي (مشهد متداخل) وجعلها متاحة للبلوكات داخل هذا النظام الفرعي. يعمل كبورت إدخال مرقّم للنظام الفرعي ويتزامن تلقائيًا مع مدخلات السيناريو الأب.

## 📥 المدخلات

هذا البلوك لا يعلن عن مدخلات محلية مباشرة (يستقبل البيانات من السيناريو الأب بدلًا من المقابس المحلية).

## 📤 المخرجات

* `Generic` — هذه المخرجة توفر القيمة المرسلة من السيناريو الأب. داخل النظام الفرعي، قم بتوصيل هذه المخرجة إلى أي بلوك يحتاج البيانات المرسلة من الأب.

## 🕹️ عناصر التحكم

* `Title` — يعرض البلوك رقمًا يحدد موضعه ضمن مدخلات النظام الفرعي (مثل: 1، 2، 3).
* `Scene Index` — لكل بلوك مؤشر مشهد يحدد أي مدخل من السيناريو الأب يتطابق معه. العنوان المعروض يعكس هذا المؤشر.

ملاحظة: الترقيم يُدار تلقائيًا. عند إضافة، إزالة أو إعادة ترتيب بلوكات مدخلات النظام الفرعي، تتحدث الأرقام المعروضة لتطابق ترتيبها.

## ⚙️ آلية التشغيل

* عندما يعمل النظام الفرعي، كل `Subsystem In` يعطي القيمة الواردة من المدخل المطابق في السيناريو الأب.
* في السيناريو الرئيسي (الأب)، يوفر المدخل المقابل البيانات التي تتدفق إلى مدخل النظام الفرعي.
* يحافظ البلوك على تزامن التعيينات مع السيناريو الأب حتى يتلقى النظام الفرعي المدخل الصحيح حتى لو تمت إضافة أو إعادة ترتيب المدخلات في الأب.
* يدعم البلوك الاستخدام في سياقات الاختبار أو السياقات المدعومة بالذاكرة (يتكيف السلوك حسب ما إذا كان النظام الفرعي يعمل مستقلاً أو مضمّنًا).

## 🎯 الميزات

* ترقيم تلقائي وربط بالمؤشرات لتسهيل تعريف مدخلات النظام الفرعي.
* تزامن ديناميكي مع مدخلات الأب — أنواع المقابس والترتيب تتبع السيناريو الأب تلقائيًا.
* يعمل بسلاسة مع أوضاع تمكين/تعطيل النظام الفرعي (عند استخدام آلية تمكين النظام الفرعي، يتكيف سلوك المدخلات).
* مصمم ليكون خفيف الوزن وغير قابل لإعادة الحجم للحصول على تخطيط تحكم في التدفق مدمج.

## 📝 كيفية الاستخدام

1. ضع نظامًا فرعيًا وافتح مشهد الطفل (child scene).
2. أضف واحدًا أو أكثر من بلوكات `Subsystem In` داخل مشهد الطفل. سيظهر كل منها برقم (1، 2، ...) يبيّن أي مدخل في الأب يطابقه.
3. في السيناريو الأب، قدّم البيانات إلى مقابس مدخلات النظام الفرعي المقابلة. ستصبح هذه البيانات متاحة من خلال مخرجة `Generic` داخل النظام الفرعي.
4. داخل النظام الفرعي، وصل مخرجة `Generic` إلى باقي البلوكات التي تحتاج القيمة المرسلة من الأب.

## 💡 نصائح وحيل

* استخدمه مع `Subsystem Out` لإرجاع النتائج من النظام الفرعي إلى السيناريو الأب.
* ادمجه مع `Subsystem Enabled` إذا كنت بحاجة إلى تنفيذ مشروط أو قابل للتبديل؛ يتكيف سلوك المدخل عند تمكين/تعطيل النظام الفرعي.
* إذا أردت الاحتفاظ بقيمة مدخل داخل النظام الفرعي أو تجميدها، اربط مخرجة `Generic` مع `Data Memory` لحفظ القيمة عبر مرات التشغيل.
* لعمل تصحيح أو لمعاينة ما يرسله الأب إلى النظام الفرعي، قم بتغذية مخرجة `Generic` إلى `Debug Input` أو عرضها باستخدام بلوكات عرض/مخرجات مناسبة.
* لتمرير قيم إعدادات (أرقام، نصوص أو منطقية) من الأب، استخدم بلوكات مثل `Number Input`، `String Input` أو `Logic Input` على جانب الأب واربطها عبر `Subsystem In` المقابل داخل مشهد الطفل.

## 🛠️ استكشاف الأخطاء وإصلاحها

* إن ظهر رقم غير متوقع على `Subsystem In`، جرّب إضافة أو إزالة مدخلات النظام الفرعي الأخرى؛ فالترقيم يتحدث تلقائيًا.
* إذا لم يستلم النظام الفرعي قيمًا، تأكد أن السيناريو الأب يمد البيانات على المقبس المطابق وأن النظام الفرعي مضاف بشكل صحيح إلى الأب.
* إذا احتاجت أنواع المقابس إلى تغيير، يقوم النظام بمزامنة منافذ الطفل لمطابقة الأب — بعد تغييرات كبيرة، أعد توصيل التدفقات للتأكد من السلوك الصحيح.
