Salvar estado de bool com PlayerPrefsX.
4 participantes
Página 1 de 1
Salvar estado de bool com PlayerPrefsX.
Como faço pra salvar o valor em que a variável está atualmente utilizando o PlayerPrefsX?
Eu fiz um script só que ele ta muito bugado:
Os ToSave são os gameobjects que quero pegar o valor do bool pra carregar o valor delas mais tarde.
Eu fiz um script só que ele ta muito bugado:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SaveLoad : MonoBehaviour
{
public GameObject[] ToSave;
void Awake()
{
}
void Start()
{
}
public void Save()
{
if (ToSave.Length > 0)
{
foreach (GameObject ts in ToSave)
{
bool activeOnLoad = PlayerPrefsX.SetBool("active", ts.gameObject.activeInHierarchy);
ts.SetActive(activeOnLoad);
}
}
}
public void Load()
{
if (ToSave.Length > 0)
{
foreach (GameObject ts in ToSave)
{
bool LoadActive = PlayerPrefsX.GetBool("active");
ts.SetActive(LoadActive);
}
}
}
}
Os ToSave são os gameobjects que quero pegar o valor do bool pra carregar o valor delas mais tarde.
INKnight- Avançado
- PONTOS : 3601
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Salvar estado de bool com PlayerPrefsX.
playerprefs nao tem o SetBool, só o SetInt,SetString e SetFloat,talvez vc possa fazer um sistema tipo assim, exemplo:
dei uma olhadinha,bem editei o script ,tenta e ve se funciona agora
- Código:
public GameObject[] ToSave;
int salvo = 0;
public void Save()
{
if (ToSave.Length > 0)
{
foreach (GameObject ob in ToSave)
{
bool status = ob.activeInHierarchy;
if (status == true)
{
PlayerPrefsX.SetBool("active", status);
}
else
{
status=false;
PlayerPrefsX.SetBool("active",status);
}
}
}
}
public void Load()
{
if (ToSave.Length > 0)
{
foreach (GameObject ts in ToSave)
{
bool statu=PlayerPrefs.GetBool("active");
if (status == true)
ts.SetActive(statu);
else
{
ts.SetActive(false);
}
}
}
}
}
dei uma olhadinha,bem editei o script ,tenta e ve se funciona agora
Última edição por felipehobs1 em Seg Jan 22, 2018 12:04 am, editado 2 vez(es) (Motivo da edição : correçao de ortografia)
Re: Salvar estado de bool com PlayerPrefsX.
felipehobs1 escreveu:playerprefs nao tem o SetBool, só o SetInt,SetString e SetFloat,talvez vc possa fazer um sistema tipo assim, exemplo:
Não estou usando playerprefs, é um outro script não-monobehaviour pra implementar o PlayerPrefsX, que é um sistema bem mais fácil de save.
http://wiki.unity3d.com/index.php/ArrayPrefs2
INKnight- Avançado
- PONTOS : 3601
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Salvar estado de bool com PlayerPrefsX.
é uqase igual brow,o kara só deu uns mods,tenta agora ve se foi,felipehobs1 escreveu:playerprefs nao tem o SetBool, só o SetInt,SetString e SetFloat,talvez vc possa fazer um sistema tipo assim, exemplo:
- Código:
public GameObject[] ToSave;
int salvo = 0;
public void Save()
{
if (ToSave.Length > 0)
{
foreach (GameObject ob in ToSave)
{
bool status = ob.activeInHierarchy;
if (status == true)
{
PlayerPrefsX.SetBool("active", status);
}
else
{
status=false;
PlayerPrefsX.SetBool("active",status);
}
}
}
}
public void Load()
{
if (ToSave.Length > 0)
{
foreach (GameObject ts in ToSave)
{
bool status=PlayerPrefsX.GetBool("active");
if (status == true)
ts.SetActive(status);
else
{
ts.SetActive(false);
}
}
}
}
}
Última edição por felipehobs1 em Seg Jan 22, 2018 12:10 am, editado 1 vez(es) (Motivo da edição : correçao)
Re: Salvar estado de bool com PlayerPrefsX.
Basta utilizar uma int auxiliar, por exemplo:
int auxiliar;
if(bool == true){
auxiliar = 1;
}else{
auxiliar = 0;
}
Dai você salva o valor dessa variável 'auxiliar', e na hora de resgatar os dados, basta fazer a mesma comparação... Se a int for igual a 1, então você deixa a variável true, e assim por diante.
int auxiliar;
if(bool == true){
auxiliar = 1;
}else{
auxiliar = 0;
}
Dai você salva o valor dessa variável 'auxiliar', e na hora de resgatar os dados, basta fazer a mesma comparação... Se a int for igual a 1, então você deixa a variável true, e assim por diante.
Re: Salvar estado de bool com PlayerPrefsX.
Ou usando o operador ternário;
ou o contrário
- Código:
int tempInt = tempBool ? 1 : 0;
ou o contrário
- Código:
bool tempBool = 1 ? true : false;
Re: Salvar estado de bool com PlayerPrefsX.
Valeu galera, irei testar aqui, e se der tudo certo eu aviso. Abraços!
INKnight- Avançado
- PONTOS : 3601
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Tópicos semelhantes
» Como fazer um script salvar o estado de um gameobject
» Como Salvar e Carregar um prefab em estado do Animator específico?
» Como salvar o estado do Animator de um GameObject utilizando o playerprefs?
» Toogle, é possível carregar estado de um PlayerPrefs?
» Salvar "List<bool>" Em Arquivo .dat
» Como Salvar e Carregar um prefab em estado do Animator específico?
» Como salvar o estado do Animator de um GameObject utilizando o playerprefs?
» Toogle, é possível carregar estado de um PlayerPrefs?
» Salvar "List<bool>" Em Arquivo .dat
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos