He visto muchas veces en el código fuente, cosas como esta [bueno, esta es más una idea mía pseudo C ++]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Me preguntaba qué tan útil era una clase como esta, algo que:
- Archivos multimedia cargados
- Los almacené en la memoria
- Lo hice al comienzo de una pantalla de carga de nivel.
- Limpiado
En lugar de tener un sistema de:
- Los recursos están en manos de entidades solamente, o están sueltos.
- Responsable de la propia carga en la memoria.
El primero es un "gerente" como tal; algo que siento indica que está mal usarlo. Sin embargo, permite que se pase algo así como un vector de nombres de recursos, en lugar de tener que buscar todo lo que necesita cargarse.