منصوبے کے بارے میں

bevy_asset_loader بیوی گیم انجن کے لیے ایک پلگ ان ہے جو گیم اثاثوں کی لوڈنگ کو آسان اور منظم بناتا ہے۔ یہ ایک قابلِ اشتقاق `AssetCollection` ٹریٹ متعارف کراتا ہے جو ڈویلپرز کو متعلقہ اثاثوں کو structs میں گروپ کرنے کی اجازت دیتا ہے، جو مکمل لوڈ ہونے کے بعد Bevy ECS وسائل کے طور پر دستیاب ہوتے ہیں۔ پلگ ان کی بنیادی خصوصیت لوڈنگ اسٹیٹ سسٹم ہے۔ ڈویلپرز اثاثہ لوڈنگ کے لیے ایک Bevy اسٹیٹ ترتیب دے سکتے ہیں، بتا سکتے ہیں کہ کون سے اثاثہ مجموعے لوڈ کرنے ہیں، اور لوڈنگ مکمل ہونے کے بعد اگلی اسٹیٹ میں منتقلی کی وضاحت کر سکتے ہیں۔ لوڈنگ اسٹیٹ اس بات کی ضمانت دیتی ہے کہ اگلی اسٹیٹ شروع ہونے سے پہلے تمام اثاثہ ہینڈلز مکمل طور پر لوڈ ہو چکے ہیں۔ معاون اثاثہ فیلڈ کی اقسام میں شامل ہیں: - فائل پاتھ سے لوڈ ہونے والے سنگل `Handle<T>` فیلڈز (آڈیو، تصاویر وغیرہ) - ٹیکسچر اٹلس لے آؤٹس جن میں ٹائل سائز، کالمز، رووز اور پیڈنگ کنفیگر کی جا سکتی ہے - کسٹم سیمپلر کنفیگریشنز (فلٹر موڈ، ریپ موڈ) والی تصاویر - کنفیگر ایبل لیئر کاؤنٹ والی اری ٹیکسچرز - معیاری میٹریلز (3d فیچر فعال ہونے پر) - `Vec<UntypedHandle>` یا ٹائپڈ ویکٹر کے طور پر لوڈ ہونے والے فولڈرز - ویب کمپیٹیبل اثاثہ مجموعوں کے لیے پاتھز کی فہرستیں - MapKey ٹریٹ استعمال کرتے ہوئے HashMaps کے طور پر لوڈ ہونے والے مجموعے دو اثاثہ کنفیگریشن موڈز معاون ہیں: کمپائل ٹائم اثاثے براہِ راست کوڈ میں derive میکرو اٹریبیوٹس استعمال کرتے ہیں۔ پاتھز اور آپشنز ہارڈ کوڈڈ ہوتے ہیں، تبدیلیوں کے لیے دوبارہ کمپائلیشن درکار ہوتی ہے۔ ڈائنامک اثاثے `path` کی بجائے `key` اٹریبیوٹ استعمال کرتے ہیں، جس سے کنفیگریشنز کو `.assets.ron` فائلوں میں محفوظ کیا جا سکتا ہے۔ یہ اثاثہ ڈیٹا کو کوڈ سے الگ کرتا ہے، دوبارہ کمپائلیشن کی فریکوئنسی کم کرتا ہے، اور غیر پروگرامرز کے لیے اثاثوں کا انتظام آسان بناتا ہے۔ `standard_dynamic_assets` فیچر ڈائنامک اثاثوں کے لیے RON فائل لوڈنگ کو فعال کرتا ہے۔ اضافی صلاحیتوں میں شامل ہیں: - لوڈنگ بار سپورٹ کے لیے iyes_progress کریٹ کے ساتھ پیش رفت ٹریکنگ انٹیگریشن - گمشدہ یا غیر لوڈ شدہ اثاثوں سے نمٹنے کے لیے فیلئر اسٹیٹ کنفیگریشن - اثاثہ مجموعے لوڈ ہونے کے بعد FromWorld وسائل کو انیشیالائز کرنے کے لیے `finally_init_resource` - `init_collection` کے ذریعے لوڈنگ اسٹیٹ کے بغیر براہِ راست انیشیالائزیشن - ضرورت نہ ہونے پر AssetCollection وسائل کو ہٹا کر اثاثوں کو ان لوڈ کرنا یہ کریٹ Apache-2.0 اور MIT کے تحت دوہری لائسنس یافتہ ہے، اور متعدد Bevy ورژنز کے ساتھ مطابقت برقرار رکھتا ہے، جس میں Bevy کی مین ڈیولپمنٹ برانچ کو ٹریک کرنے والی ایک مخصوص برانچ بھی شامل ہے۔