ودجت بوب أب إعادة الاتصال

يمكنك بناء واجهة مستخدم إعادة الاتصال بطريقتين: الوراثة من الكلاس الأب الجاهز، أو إنشاء ودجت Blueprint عادي وتصميمه يدوياً بالكامل.

الخيار الأول: الوراثة من الكلاس الأب (DztfixNetworkReconnectWidget)

يوفر البلجن كلاس أب جاهز ومبرمج مسبقاً باسم DztfixNetworkReconnectWidget. عند إنشاء الـ Widget Blueprint وجعل هذا الكلاس هو الأب له، فإنه يقوم تلقائياً بإنشاء العناصر والتعامل مع أحداث الشبكة في الخلفية.

طريقة الإنشاء

  1. اضغط بالزر الأيمن في Content Browser واختر User Interface > Widget Blueprint.
  2. في صندوق البحث عن الكلاس الأب (All Classes)، ابحث عن DztfixNetworkReconnectWidget.
  3. اختره كـ Parent Class ثم أنشئ الودجت الخاص بك.

تصميم الواجهة التلقائي

بمجرد تشغيل هذا الودجت، سيقوم ببناء العناصر التالية تلقائياً داخل الواجهة:

  • عنصر UVerticalBox كجذر للواجهة (Root layout).
  • عنصر TextBlock لعرض رسالة حالة الإنترنت الحالية وتحديثها تلقائياً.
  • زر Button يحتوي على نص "Retry". عند الضغط عليه، يقوم تلقائياً بإجراء فحص فوري للشبكة.

دوال البلوبرنت المتاحة

بما أن الودجت يرث من هذا الكلاس، يمكنك استدعاء الدوال التالية مباشرة داخل مخطط البلوبرنت الخاص به:

  • Show Network Message: لإظهار الواجهة (يجعلها Visible) ويشغل حدث إظهار الرسالة.
  • Hide Network Message: لإخفاء الواجهة بالكامل (يجعلها Collapsed).
  • Retry Connection Check: استدعاء فحص الشبكة يدوياً للتحقق من رجوع الخدمة.
  • Set Network Message Text: لتغيير نص رسالة الخطأ المعروضة للاعب ديناميكياً.

أحداث البلوبرنت القابلة للتطبيق (Events)

اضغط بالزر الأيمن داخل المخطط وابحث عن هذه الأحداث لإضافة تأثيرات بصرية أو أصوات أو حركات مخصصة:

  • On Reconnect Requested: يُطلق عندما يضغط اللاعب على زر Retry ويبدأ النظام في فحص الاتصال.
  • On Network Message Shown: يُطلق عندما تظهر رسالة الخطأ. مناسب لتشغيل حركات الظهور (Fade-in).
  • On Network Message Hidden: يُطلق عند استعادة الاتصال واختفاء رسالة الخطأ. مناسب لتشغيل حركات الاختفاء أو إظهار بنر النجاح.

الخيار الثاني: التصميم اليدوي الكامل (UserWidget)

إذا كنت تفضل تصميم الواجهة وترتيب الأزرار بنفسك في مصمم UMG، فاجعل الكلاس الأب هو UserWidget العادي، ونفّذ المخطط التالي.

هيكل عناصر الـ UMG

Widget Blueprint: WBP_NetworkPopup Parent Class: UserWidget Canvas Panel -> Border or Overlay -> Vertical Box -> Text Block: TXT_Message -> Button: BTN_Retry -> Text Block: "Retry"

مخطط حدث التشييد (Event Construct)

Event Construct
تهيئة حالة الواجهة عند التشغيل
Set Visibility Self = Collapsed
إخفاء الواجهة افتراضياً
Get Dztfix Network Check
جلب المساعدSubsystem Ref
Bind Event to On Network Lost
إظهار البوب أب عند فقدان الشبكة
Bind Event to On Network Available
إخفاء البوب أب عند عودة الشبكة

مخطط زر إعادة المحاولة (Retry Button)

OnClicked BTN_Retry
حدث الضغط على زر المحاولة
Set Text (TXT_Message) = "Checking..."
تغيير النص في الواجهة
Check Internet Connection
تشغيل فحص الاتصال بالشبكة