Saya telah melihat banyak waktu dalam kode sumber, hal-hal seperti ini [well, ini lebih merupakan ide C ++ palsu saya]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Saya hanya ingin tahu seberapa berguna kelas seperti ini, sesuatu yang:
- File media yang dimuat
- Menyimpannya dalam memori
- Apakah ini pada awal layar pemuatan level.
- Dibersihkan
Alih-alih memiliki sistem:
- Sumber daya dipegang oleh entitas saja, atau longgar.
- Bertanggung jawab untuk memuat sendiri ke dalam memori.
Yang pertama adalah 'manajer'; sesuatu yang saya rasakan menunjukkan itu salah untuk digunakan. Namun, ini memungkinkan untuk sesuatu seperti vektor nama sumber daya untuk dilewatkan, daripada harus berebut menemukan segala yang perlu dimuat.