SMART Reply عبارة عن مكون إضافي للوحدة يساعدك على استعادة روابط ما قبل المكسورة. إلى جانب ذلك ، يمكن أن يحل أيضًا محل المسبقات في المشهد بسباق مسبق مماثل يحتوي على نفس البرامج النصية دون فقدان أي تغييرات أو مراجع كائن.
من أجل استخدام المكون الإضافي ، يجب تعيين إصدار Corrent .NET لمشروعك. وإلا فلن يتم تجميعها . يمكنك تغيير إصدار .NET عبر: File -> Build settings -> Other settings -> Configuration -> Scripting Runtime Version -> .NET 4.x Equivalent
بعد تنزيل وتثبيت الحزمة ، يمكنك فتح نافذة Smart Reply من خلال التنقل إلى Tools -> Replace prefab...
ستظهر الأمثلة التالية حالات الاستخدام الرئيسية للمكون الإضافي. يوجد أيضًا مقطع فيديو على YouTube يشرح المكون الإضافي بشكل أكثر وضوحًا.

restore a prefab link لكائن المشهد ، اسحب أولاً كائن المشهد إلى الحقل المقابل للنافذة. بعد ذلك ، ابحث عن prefab الأصلي في نافذة مشروع الوحدة وإسقاطه على حقل fresh prefab .
ضمن Transfer component values يمكنك تحديد جميع المكونات التي قد تحتوي على تغييرات تريد الحفاظ عليها. لا يتم دعم إعدادات مكونات الوحدة حاليًا ، باستثناء قيم transform .
بعد إجراء هذه الإعدادات ، يمكنك الضغط على Replace وسيتم استعادة رابط prefab دون فقدان التغييرات التي أجريتها على كائنك في المشهد.
في كثير من الأحيان في تطوير اللعبة ، يتم إنشاء prefabs الوهمية لاختبار وظيفة معينة من لعبة elememt. في المراحل اللاحقة من تطوير اللعبة ، سيتم إنشاء نسخة أفضل من هذا الزر - مع نماذج أجمل ، قوام ، تظليل وما إلى ذلك.
لذا ، إذا كان لديك مستوى مع Prefabs الوهمية فقط ، لكنك تريد استبدالها جميعًا بإصدارك الجديد والأفضل ، يمكن أن يساعدك Smart.Replace.
تُظهر الصور الموجودة أدناه مشهدًا مع زر وباب. يحتوي الزر على برنامج نصي يسمى Button Click يحتوي على مرجع إلى كائن الباب ، بحيث يمكنه فتح الباب أو إغلاقه عند النقر عليه.

يوجد أيضًا زر آخر مسبقًا ، كما ترون في عرض المشروع ، يسمى Button 1 . يبدو الأمر مختلفًا بعض الشيء ، ولكنه يحتوي أيضًا على مكون ButtonClick وبالتالي يمكن استخدامه مثل الزر الحالي. هذا مرشح جيد للاستبدال ، لذلك نقوم أولاً بإسقاط كائن المشهد الخاص بنا في نافذة smart.replace ، ثم الزر الأفضل المسبق ، تأكد من الحفاظ على مرجع الباب بعد الاستبدال ثم نضغط على replace .

تم استبدال الزر بنجاح ولا يزال لديه الإشارة إلى الباب ، لذلك لا يزال يعمل!
تمامًا مثل هذا ، يمكن الحفاظ على جميع إعدادات جميع المكونات أثناء الاستبدال ، مثل قيم integer colors strings وما إلى ذلك.
لا يحتاج Fresh prefab إلى الحصول على نفس التسلسل الهرمي للكائن مثل scene object لأن Smart.replace يهتم فقط بتقاطع المكونات (انظر القيود لمزيد من المعلومات).
ماذا عن استبدال الباب الآن؟ يبدو هذا صعبًا بعض الشيء ، لأن الباب لا يشير إليه الزر الآن. ومع ذلك ، فإن Smart.Replace لا ، عند تمكين Transfer external references .
العملية هي نفسها مرة أخرى. نختار أولاً كائن المشهد ثم الجوفاء. مرة أخرى ، وصلنا إلى استبدال وسيتم استبدال الباب بسباق آخر. في الوقت نفسه ، سيتم تحديث إشارة الزر إلى الباب.
ستبحث Smart.Replace عن object خارجي ومراجع component إلى الكائن الذي يتم استبداله. ستقوم حتى lists البحث arrays للمراجع المحتملة وسيقوم بتحديثها كما هو موضح.
إذا كان لديك أشياء متشابهة في المشهد تريد استبدالها ، فسيكون من الممتل أن تفعل ذلك واحدًا تلو الآخر.
يوفر Smart.Replace البحث عن كائنات مماثلة ، حتى نتمكن من استبدال أي عدد من الكائنات مرة واحدة. أولاً ، نختار أيًا من الكائنات في المشهد ثم مسبقًا - حتى نتمكن من البحث عن كائنات مماثلة. بشكل افتراضي ، لا توجد مرشحات ، لذلك يتم عرض جميع الكائنات في المشهد. البحث بالاسم فعال للغاية في الحالات التي يكون فيها جميع الكائنات أسماء مماثلة. يمكنك أيضا البحث عن المكونات.
إذا وصلنا الآن إلى استبدال ، نرى أنه يتم استبدال جميع الكائنات مرة واحدة. إذا كان لديهم إشارات إلى بعضهم البعض ، فسيتم الحفاظ عليها أيضًا.
من أجل جعل المكون الإضافي سهل الاستخدام ، فإنه يحتوي على بعض القيود التي يجب أن تعرفها:
component intersection يوضح مكونات الوحدة من أجل الاكتمال ، إلا أنه لا يمكن الحفاظ على قيمها حاليًا. الاستثناء الوحيد هو مكون transform الذي يحتوي على واجهة مستخدم خاصة به (انظر أدناه).one component type per object . إذا كان لديك مكونات متعددة من نفس النوع على كائن المشهد الخاص بك ، فسيتم الحفاظ على قيم الأولى فقط. سيتم التخلص من الباقي.object الذي تم استبداله. ومع ذلك ، ستشير مراجع الكائن الخارجي دائمًا إلى الكائن parent بعد الاستبدال. يمكنك الاتصال بي في أي وقت على [email protected].