Eu já vi muitas vezes no código fonte, coisas assim [bem, isso é mais uma ideia pseudo C ++ minha]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Eu só estava me perguntando o quão útil uma classe como essa era, algo que:
- Arquivos de mídia carregados
- Armazenou-os na memória
- Fiz isso no início de uma tela de carregamento de nível.
- Limpo
Em vez de ter um sistema de:
- Os recursos são mantidos apenas por entidades ou estão soltos.
- Responsável pela própria carga na memória.
O primeiro é um 'gerente' como tal; algo que sinto indica que é errado usar. No entanto, ele permite que algo como um vetor de nomes de recursos seja passado, em vez de ter que procurar por tudo o que precisa ser carregado.