| Projeto IDJ - Towers Of Madness
    TowerDefenseLovecraftnianoZombicida | 
Classe estática responsável por gestão dos recursos em memória. Mais...
#include <Resources.h>
| Métodos Públicos Estáticos | |
| static std::shared_ptr < SDL_Texture > | GetImage (string file) | 
| Obtém o ponteiro para a imagem.  Mais... | |
| static std::shared_ptr< Mix_Music > | GetMusic (string file) | 
| Obtém o ponteiro para a música.  Mais... | |
| static std::shared_ptr< Mix_Chunk > | GetSound (string file) | 
| Obtém o ponteiro para o áudio.  Mais... | |
| static std::shared_ptr< TTF_Font > | GetFont (string file, int fontSize) | 
| Obtém o ponteiro para a fonte.  Mais... | |
| static void | ClearResources (void) | 
| Desaloca da memória os recursos que não estão em uso.  Mais... | |
| static void | ChangeMusicVolume (int deltaVolume) | 
| Altera volume das músicas.  Mais... | |
| static void | ChangeSoundVolume (int deltaVolume) | 
| Altera volume dos sons.  Mais... | |
| static void | ForceMusicVolume (int volume) | 
| Altera volume das músicas.  Mais... | |
| static void | ForceSoundVolume (int volume) | 
| Altera volume dos sons.  Mais... | |
| Métodos Privados | |
| Resources () | |
| Constutor privado que não deve ser implementado.  Mais... | |
| Métodos Privados Estáticos | |
| static void | ClearImages (void) | 
| Destrói as imagens não usadas da memória.  Mais... | |
| static void | ClearMusic (void) | 
| Destrói as músicas não usadas da memória.  Mais... | |
| static void | ClearSound (void) | 
| Destrói os sons não usadas da memória.  Mais... | |
| static void | ClearFonts (void) | 
| Destrói as fontes não usadas da memória.  Mais... | |
| Atributos Privados Estáticos | |
| static std::unordered_map < string, std::shared_ptr < SDL_Texture > > | imageTable | 
| static std::unordered_map < string, std::shared_ptr < Mix_Music > > | musicTable | 
| static std::unordered_map < string, std::shared_ptr < Mix_Chunk > > | soundTable | 
| static std::unordered_map < string, std::shared_ptr < TTF_Font > > | fontTable | 
| static int | musicVolume = 64 | 
| static int | soundVolume = 16 | 
Classe estática responsável por gestão dos recursos em memória.
Esta classe gerencia o uso de memória, em especial implementa o reuso de imagens, músicas sons e fontes já carregadas. poupando tempo de carregameto e evita ter em memória recursos repetidos. Isso é feito mantendo fazendo o uso de tabelas de hash, onde cada elemento mapeado é um ponteiro compartilhado(shared_ptr).
| 
 | private | 
Constutor privado que não deve ser implementado.
Isso garante que qualquer tentativa de instanciar esse classe dará erro de ligação. Essa classe é totalmente estática.
| 
 | static | 
Altera volume das músicas.
| volume | Variação no nolume que deve ser setado para as músicas. | 
Altera o volume das músicas do jogo. Como só pode ter uma música de cada vez, não é necessário percorres a tabela hash de músicas. É feito checagem de limite desse valor para que esteja entre 0 e 128
| 
 | static | 
Altera volume dos sons.
| volume | Variação no volume único que deve ser setado para cada som. | 
A tabela de hash dos sons(soundTable) é percorrida alterando o volume de cada som. É feito checagem de limite desse valor para que esteja entre 0 e 128
| 
 | staticprivate | 
Destrói as fontes não usadas da memória.
A tabela de hash das fontes(fontTable) é percorrida e, se não houver nenhuma outra referência para essa fonte no programa,, a fonte é destruída, chamando indiretamente a função lambda enviada na criação do shared_ptr.
| 
 | staticprivate | 
Destrói as imagens não usadas da memória.
A tabela de hash das imagens(imageTable) é percorrida e, se não houver nenhuma outra referência para essa imagem no programa, a imagem é destruída, chamando indiretamente a função lambda enviada na criação do shared_ptr.
| 
 | staticprivate | 
Destrói as músicas não usadas da memória.
A tabela de hash das músicas(musicTable) é percorrida e, se não houver nenhuma outra referência para essa imagem no programa, a música é destruída, chamando indiretamente a função lambda enviada na criação do shared_ptr.
| 
 | static | 
Desaloca da memória os recursos que não estão em uso.
Internamente chama o ClearImages, ClearMusic, ClearSound e o ClearFonts. Veja a documentação de cada um desses métodos para mais informações.
| 
 | staticprivate | 
Destrói os sons não usadas da memória.
A tabela de hash dos sons(soundTable) é percorrida e, se não houver nenhuma outra referência para esse som no programa,, o som é destruída, chamando indiretamente a função lambda enviada na criação do shared_ptr.
| 
 | static | 
Altera volume das músicas.
| volume | Volume que deve ser setado para as músicas. | 
Força um valor para o volume das músicas do jogo. Como só pode ter uma música de cada vez, não é necessário percorres a tabela hash de músicas. É feito checagem de limite desse valor para que esteja entre 0 e 128
| 
 | static | 
Altera volume dos sons.
| volume | Volume único que deve ser setado para cada som. | 
Força um valor para o volume dos sons. A tabela de hash dos sons(soundTable) é percorrida alterando o volume de cada som. É feito checagem de limite desse valor para que esteja entre 0 e 128
| 
 | static | 
Obtém o ponteiro para a fonte.
| file | Nome do arquivo de fonte que se deseja abrir. | 
| fontsize | O tamanho requerido para a fonte. | 
Se a fonte em questão já estiver em memória no tamanho requerido, um ponteiro para ela é enviado. Caso contrário ela é carregada, colocada no hash e então retornada. Ao se colocar a fonte no hash, criando o shared_ptr, um destrutor desse ponteiro é enviado como uma função lambda. Esse destrutor desaloca a fonte da memória.
| 
 | static | 
Obtém o ponteiro para a imagem.
| file | Nome do arquivo da imagem que se deseja abrir. | 
Se a imagem em questão já estiver em memória, um ponteiro para ela é enviado. Caso contrário ela é carregada, colocada no hash e então retornada. Ao se colocar a imagem no hash, criando o shared_ptr, um destrutor desse ponteiro é enviado como uma função lambda. Esse destrutor desaloca a imagem da memória.
| 
 | static | 
Obtém o ponteiro para a música.
| file | Nome do arquivo de música que se deseja abrir. | 
Se a música em questão já estiver em memória, um ponteiro para ela é enviado. Caso contrário ela é carregada, colocada no hash e então retornada. Ao se colocar a música no hash, criando o shared_ptr, um destrutor desse ponteiro é enviado como uma função lambda. Esse destrutor desaloca a música da memória.
| 
 | static | 
Obtém o ponteiro para o áudio.
| file | Nome do arquivo de áudio que se deseja abrir. | 
Se o áudio em questão já estiver em memória, um ponteiro para ele é enviado. Caso contrário ele é carregada, colocado no hash e então retornado. Ao se colocar o áudio no hash, criando o shared_ptr, um destrutor desse ponteiro é enviado como uma função lambda. Esse destrutor desaloca o áudio da memória.
| 
 | staticprivate | 
Tabela de hash com as fontes carregadas. Cada combinação fonte-tamanho é uma entrada diferente no hash. Isso pe feito concatenando o tamanho da fonte ao nome do arquivo da mesma.
| 
 | staticprivate | 
Tabela de hash com as texturas carregadas.
| 
 | staticprivate | 
Tabela de hash com as músicas carregadas.
| 
 | staticprivate | 
Armazena volume da música. Esse valor pode ser de 0 a 128.
| 
 | staticprivate | 
Tabela de hash com os sons carregados.
| 
 | staticprivate | 
Armazena volume dos sons. Esse valor pode ser de 0 a 128.
 1.8.8
 1.8.8