public void Incrementar_Indice_Resolucao_Atual(int inc) { Resolution resolucao_atual_antiga = Obter_Resolucao_Atual(); bool estava_no_primeiro_ou_ultimo_indice = indiceResolucaoAtual == 0 || indiceResolucaoAtual == Screen.resolutions.Length - 1; // Essa função de apoio já limita se indice ciclico não é ciclico indiceResolucaoAtual = Funcoes_De_Apoio.Incrementa_Indice(indiceResolucaoAtual, inc, Screen.resolutions.Length, indiceResolucaoCiclico); Resolution resolucao_atual_nova = Obter_Resolucao_Atual(); // resolucao atual já foi modificada // Ao que parece, a ordenada de resoluções vem com várias resoluções iguais // por isso, o Incrementar vai pular se a nova resolução é igual a antiga // mas ele só faz isso se o indice for ciclico e se ele não estiver nos limites if (resolucao_atual_nova.width == resolucao_atual_antiga.width && resolucao_atual_nova.height == resolucao_atual_antiga.height && indiceResolucaoCiclico && !estava_no_primeiro_ou_ultimo_indice) { Incrementar_Indice_Resolucao_Atual(inc > 0 ? 1 : -1); } }
public void Incrementar_Indice(int inc) { indice = Funcoes_De_Apoio.Incrementa_Indice(indice, inc, eventos.Length, indiceCiclico); }