عرِّف الإنجازات كإعدادات تتعقّب تقدّم اللاعبين تلقائيًا.
الإنجاز في Flock نوع من الإعدادات/القوالب — يُعرَّف إلى جانب
إعدادات لعبتك وقوالب اللاعبين —
ويُولّد تلقائيًا مدخل بيانات لاعب لتتبّع تقدّم كل لاعب. فأنت لا تستدعي واجهة برمجية منفصلة
للإنجازات: تضبط الإنجاز، وتُهيّئ Flock بيانات اللاعب المقابلة لتقرأها
وتحدّثها.
لوحة التحكم
Unity
Unreal
عرِّف الإنجازات من صفحة إعدادات الإنجازات — وهي المرجع الأوحد. يصبح كل إنجاز جزءًا من
إعدادات لعبتك وقوالب اللاعبين، وتُنشئ Flock مدخل بيانات لاعب يحمل التقدّم.
عرِّف الإنجازات من صفحة إعدادات الإنجازات.
تأخذ UnlockAchievementAsync اسم الإنجاز، أو تعدادًا مُولَّدًا بعد مزامنة المخططات فيستحيل
أن تخطئ في كتابته. وتتولّى حزمة التطوير استنتاج الصف الموسوم achievement نيابةً عنك.
PlayerData row = await FlockClient.Instance.Commands.UnlockAchievementAsync("first_win");// بعد المزامنة — مُحدَّد النوع، فالاسم غير الموجود على الخادم يفشل عند الترجمة:row = await FlockClient.Instance.Commands.UnlockAchievementAsync(FlockAchievementId.FirstWin);
والنسخة المُحدَّدة النوع إضافية — إذ تبقى نسخة النص الخام متاحة — لكن فضّلها عليها.وإن كنت تحتفظ بتفاصيل الإنجاز (الاسم المعروض، والوصف، والمكافأة) في إعداد موسوم
achievement، فإن توليد الكود يربطها بالتعداد نفسه، فتمنح الإنجاز وتقرأ تفاصيله بقيمة واحدة:
// تُعيد المدخل المطابق — نوع مُولَّد من إعدادك أنت.var firstWin = await FlockClient.Instance.Config.GetAchievementDetailsAsync(FlockAchievementId.FirstWin);
وتُصفّ عمليات الفتح في طابور دون اتصال وتُعاد عند عودة الاتصال.
تأخذ Flock Unlock Achievement اسم الإنجاز، أو قائمة منسدلة مُولَّدة بعد مزامنة المخطّط
بحيث يستحيل أن تخطئ في كتابته. وتتكفّل حزمة التطوير بإيجاد الصف الموسوم بـ achievement
نيابةً عنك.
Sdk->GetCommandProvider()->UnlockAchievement(TEXT("first_win"), OnUnlocked);// After a sync, with the id baked in:FFlockGenerated::UnlockAchievement(this, EFlockAchievementId::FirstWin, OnUnlocked);
وعمليات الفتح تُصفّ في طابور عند انقطاع الاتصال وتُعاد عند عودته.
الإنجازات تُضبط ولا تُبرمج. عرِّفها من صفحة إعدادات الإنجازات، ثم تكشفها لك حزمة التطوير
عبر إعدادات اللعبة وبيانات اللاعب.