PlayerPrefs é uma ferramenta da Unity que nos permite salvar dados dentro do nosso jogo, seja da forma mais simples até a mais avançada como um banco de dados.
Nós podemos salvar e recuperar 3 tipos de variáveis: string, float e int.
Isso acaba sendo um problema quando queremos salvar valores como bool, Vector3 ou Vector2 e color.
Mas existe uma forma de você salvar esses valores sem precisar apelar para “gambiarras”.
Te mostrarei aqui hoje sobre o bool e se você quer aprender mais sobre o player prefs temos um artigo completo sobre isso:
https://www.crieseusjogos.com.br/salvar-o-jogo-na-unity/
PlayerPrefs bool | Como salvar números booleanos na unity
1- O que são variáveis booleanas?
2- PlayerPrefs Bool
O que são variáveis booleanas?
Você já parou para se perguntar o que são variáveis booleanas?
Ok, se você já aprendeu sobre programação certamente deve saber que são variáveis que retornam true ou false.
Mas se você for a fundo no assunto saberá que não é bem assim…
As linguagens que nós conhecemos como C#, Python e Java têm como base a linguagem C.
Essa é uma linguagem considerada como um nível mais baixo de todas essas que usamos para criar jogos.
Isso significa que a sua sintaxe e as suas ferramentas estão mais perto da linguagem do computador.
Se você for aprender esse tipo de linguagem verá que não existe o tipo de variável “bool” e isso acontece porque o computador não trabalha com esse tipo de variável.
O que acontece é que a Unity traduz para nós os valores inteiros 1 e 0 para true e false;
Assim fica muito mais fácil para nós que estamos programando.
PlayerPrefs Bool
Então, como o computador não trabalha com variáveis booleanas, não podemos mandar ele salvar esse tipo de variável no computador.
E ai que entra o porque não existe um “playerprefs bool”.
Mas da mesma forma que a Unity traduz para nós os valores true, false para 1, 0 e vice versa, nós também podemos fazer isso.
O que nós vamos fazer é criar 2 funções, uma SetBool e outra GetBool e usaremos o PlayerPrefs Int para fazer as operações.
void SetBool(string Repositorio, bool b)
{
if (b == true)
{
PlayerPrefs.SetInt(Repositorio, 1);
}
if (b == false)
{
PlayerPrefs.SetInt(Repositorio, 0);
}
}
bool GetBool(string Repositorio)
{
int a = PlayerPrefs.GetInt(Repositorio);
if (a == 1)
{
return true;
}
else
{
return false;
}
}
Para nós utilizarmos essa função faremos de forma semelhante ao PlayerPrefs:
bool b = GetBool("teste");
SetBool("teste", b);
Artigos Relacionados:
Gostou desse artigo? Temos mais em nosso blog: www.crieseusjogos.com.br
Também temos vídeos toda semana em nosso canal do Youtube: Crie seus jogos – Youtube

Baixe gratuitamente: os passos para desenvolver jogos de sucesso
Seja o primeiro a comentar.