Cloud Save por arquivo binario no google play services
Página 1 de 1
Cloud Save por arquivo binario no google play services
Bom dia, procurei no fórum tópicos a respeito e não encontrei oque procurava, adianto o pedido de desculpas caso eu esteja postando no lugar errado.
Então, tenho um projeto no unity que já esta bem avançado, ja tem seu arquivo de save binario que fiz dessa forma
dessa forma eu criei o arquivo de save no meu android, funciona , porem, eu queria usar este arquivo para enviar para o servidores do google e poder logar com a conta do gmail, assim o progresso nao se perde,
ja pesquisei alguns tutoriais e achei uns que usam arquivos em formato JSON, porem achei eles muito faceis de ser editado por players mal intencionados, dessa forma, usando esse arquivo criptografado, teria como fazer essa chamada pelo google play services? no caso, só precisaria usar as variáveis que estão na classe playerdata
agradeço a atenção
Então, tenho um projeto no unity que já esta bem avançado, ja tem seu arquivo de save binario que fiz dessa forma
- Código:
public void savedata(){
string nomearquivosave = PlayerPrefs.GetString ("slot");
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Create (Application.persistentDataPath + "/saveGame1.dat"); //criando arquivo de save
playerdata data = new playerdata ();
data.idioma = idioma;
data.idarma = idarma;
data.Moedas = Moedas;
data.vidamax = vidamax;
data.vidaatual = vidaatual;
data.aprimoramentoarma = aprimoramentoarma;
data.savetruesoul = InventorySoul.inttruesoul;
data.historia = historia;
data.forcapersonagem = forcapersonagem;
data.magiapersonagem = magiapersonagem;
data.pontosdeatributo = pontosdeatributo;
data.defesafisica = defesafisica;
data.defesamagica = defesamagica;
data.levelpersonagem = levelpersonagem;
data.experienciapersonagem = experienciapersonagem;
data.estagesdarkforest = estagesdarkforest;
data.historiadarkforest = historiadarkforest;
//INVENTARIO DE EQUIPS
if(equipsnoinventario.Count!=0){equipsnoinventario.Clear();}
foreach (GameObject i in Inventoryscript.ItensInventory) {
equipsnoinventario.Add (i.name);
}
data.equipsnoinventario = equipsnoinventario;
//INVENTARIO DE ITENS CONSUMIVEIS
if(consumableinventario.Count!=0){consumableinventario.Clear ();}
foreach (GameObject c in Inventoryscript.itensInventoryConsumables) {
consumableinventario.Add(c.name);
}
data.consumableinventario = consumableinventario;
bf.Serialize (file, data);
file.Close ();
}
public void loaddata(){
if (File.Exists (Application.persistentDataPath + "/saveGame1.dat")) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Open (Application.persistentDataPath + "/saveGame1.dat", FileMode.Open); //lendoaquivo arquivo de save, persistentdatapath, serve p mobile também
playerdata data = (playerdata)bf.Deserialize (file);//convertendo o valor de file para playerdatateste
idioma = data.idioma;
idarma = data.idarma;
Moedas = data.Moedas;
vidamax = data.vidamax;
vidaatual = data.vidaatual;
forcapersonagem = data.forcapersonagem;
magiapersonagem = data.magiapersonagem;
pontosdeatributo = data.pontosdeatributo;
defesafisica = data.defesafisica;
defesamagica = data.defesamagica;
levelpersonagem = data.levelpersonagem;
aprimoramentoarma = data.aprimoramentoarma;
equipsnoinventario = data.equipsnoinventario;
consumableinventario = data.consumableinventario;
InventorySoul.inttruesoul = data.savetruesoul;
historia = data.historia;
experienciapersonagem = data.experienciapersonagem;
estagesdarkforest = data.estagesdarkforest;
historiadarkforest = data.historiadarkforest;
Inventoryscript.ItensInventory.Clear ();
foreach (string i in equipsnoinventario) {
Inventoryscript.ItensInventory.Add (Resources.Load<GameObject> ("armas/" + i));
}
Inventoryscript.itensInventoryConsumables.Clear ();
foreach (string c in consumableinventario) {
Inventoryscript.itensInventoryConsumables.Add (Resources.Load<GameObject> ("consumiveis/" + c));
}
file.Close ();
changeState (Gamestate.GAMEPLAY);
SceneManager.LoadScene ("carregamentoentrecenas");
} else {
newGame ();
}
}
void newGame(){
//VALORES INICIAIS DO JOGO
Moedas = 0;
idarma = 0;
vidamax = 50;
vidaatual = vidamax;
levelpersonagem = 1;
forcapersonagem = 1;
magiapersonagem = 1;
defesafisica = 1;
defesamagica = 1;
historia = 1;
levelpersonagem = 1;
pontosdeatributo = 0;
experienciapersonagem = 0;
estagesdarkforest [0] = 1;
historiadarkforest = 0;
savedata();
loaddata();
}
}
[Serializable]
class playerdata
{
public List <int> aprimoramentoarma;
public List <string> equipsnoinventario;
public List <string> consumableinventario;
public int Moedas;
public int idarma;
public int vidamax;
public int vidaatual;
public int experienciapersonagem;
public int forcapersonagem;
public int magiapersonagem;
public int pontosdeatributo;
public int defesafisica;
public int defesamagica;
public int levelpersonagem;
public int idioma;
public List <int> savetruesoul;
public int historia;
public List <int> estagesdarkforest;
public int historiadarkforest;
}
dessa forma eu criei o arquivo de save no meu android, funciona , porem, eu queria usar este arquivo para enviar para o servidores do google e poder logar com a conta do gmail, assim o progresso nao se perde,
ja pesquisei alguns tutoriais e achei uns que usam arquivos em formato JSON, porem achei eles muito faceis de ser editado por players mal intencionados, dessa forma, usando esse arquivo criptografado, teria como fazer essa chamada pelo google play services? no caso, só precisaria usar as variáveis que estão na classe playerdata
agradeço a atenção
jhobert77- Iniciante
- PONTOS : 2577
REPUTAÇÃO : 11
Respeito as regras :
Tópicos semelhantes
» Google Play Services
» Update APK - Arquivo de expansão [New Google Console]
» Multiplayer em tempo Real da Google Play Services
» AJUDA PESSOAL QUE ENTENDE DE GOOGLE PLAY GAME SERVICES
» Erro ao Construir arquivo Google play store Bundle
» Update APK - Arquivo de expansão [New Google Console]
» Multiplayer em tempo Real da Google Play Services
» AJUDA PESSOAL QUE ENTENDE DE GOOGLE PLAY GAME SERVICES
» Erro ao Construir arquivo Google play store Bundle
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos