J'ai vu plusieurs fois dans le code source, des choses comme ça [eh bien, c'est plus une pseudo idée C ++ à moi]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Je me demandais juste à quel point une classe comme celle-ci était utile, quelque chose qui:
- Fichiers multimédias chargés
- Les a stockés en mémoire
- A fait cela au début d'un écran de chargement de niveau.
- Nettoyé
Plutôt que d'avoir un système de:
- Les ressources sont détenues par des entités uniquement ou en vrac.
- Responsable de sa propre charge en mémoire.
Le premier est un «manager» en tant que tel; quelque chose que je ressens indique qu'il est mal à utiliser. Cependant, cela permet de passer quelque chose comme un vecteur de noms de ressources, plutôt que d'avoir à se démener pour trouver tout ce qui doit être chargé.