
العودة إلى Unity
DryreL Software Unity
Supabase Game Achievements
إنجازات تعمل دون اتصال أولًا لألعاب Unity
افتح الإنجازات فورًا، حتى دون اتصال، وزامنها بأمان عندما يعود اللاعب إلى الاتصال. متوفر الآن على GitHub.
متوفر على GitHub
- 0 msانتظار الشبكة عند الفتح
- 3Assemblies، ونواة مستقلة عن المحرك
- MITمجاني على GitHub
نظرة عامة
ماذا يفعل
إنجازات للألعاب تعمل دون اتصال أولًا: فتح محلي فوري، وحفظ يصمد أمام الانهيار، ومزامنة مع الخادم على دفعات وبلا تكرار، وإشعار فتح اختياري، وUnity Localization اختياري.
- Unity
- C#
- Supabase
- uGUI
- رخصة MIT
كيف يعمل
من الصفر إلى العمل
- أنشئ الكتالوجشغّل سكربت SQL قصيرًا مرة واحدة لكل لعبة في محرر SQL الخاص بـ Supabase.
- أضف الحزمةثبّت من رابط Git وشغّل التهيئة مرة واحدة في مشهدك الأول.
- افتح من أثناء اللعباستدعِ TryUnlock. إنه فوري، ويُحفظ محليًا، ويُزامَن في الخلفية.
الميزات
مصمم ليعمل ببساطة
- دون اتصال أولًالا ينتظر TryUnlock الشبكة أبدًا؛ الفتح فوري ويُخزَّن محليًا.
- حفظ يصمد أمام الانهياريصمد التقدم أمام الانهيار أو إغلاق اللعبة.
- مزامنة آمنة مع الخادمتُرسل الإنجازات المفتوحة إلى Supabase على دفعات، وإعادة المزامنة لا تكررها أبدًا.
- إشعار الفتحإشعار اختياري على الشاشة عند فتح إنجاز.
- التعريبدعم اختياري لـ Unity Localization للعناوين والأوصاف.
- نواة مستقلة عن المحركالـ assembly الأساسي لا يحتوي على مراجع للمحرك، لذا يسهل اختباره.
- Achievement Dashboardنافذة في المحرر لإدارة الإنجازات وإعادة تصميم الإشعار مع معاينة حية وإعداد القواعد دون كود.
- إنجازات مشروطةعدّادات ومهام وقواعد "دون إخفاق"، من تبويب Rules في اللوحة أو من الكود.
- إشعار لا يعترض طريقكينزلق إلى الداخل، ويصطف بدل أن يتداخل، ويشغّل صوتًا، ولا يحجب الإدخال أبدًا.
- دعم Dialogue Systemفتح اختياري من Dialogue System for Unity، إضافة إلى مثال لتكامل Patreon.
ابدأ
التثبيت والاستخدام
- افتح Package Managerفي Unity اختر Window ثم Package Manager ثم زر +.
- أضف من رابط Gitالصق رابط المستودع واضغط Add.
ثم في الكود الخاص بك
- افتح
AchievementManager.TryUnlock("first_blood")فوري وآمن دون اتصال. لا ينتظر الشبكة أبدًا. - تحقّق
AchievementManager.HasUnlocked("first_blood")اعرف ما يملكه اللاعب بالفعل. - تفاعل
AchievementManager.AchievementUnlocked += ...شغّل كودك الخاص عند كل فتح. - زامن
await AchievementManager.SyncAsync()اختياري: فقط عندما تحتاج إلى معرفة النتيجة.
المتطلبات
قبل أن تبدأ
- Unity 2022.3 أو أحدث (مُختبَر على 6000.3)
- حزمة Newtonsoft Json (com.unity.nuget.newtonsoft-json)
- uGUI
