//Chama a função para carregar do arquivo e define os atributos do info a partir do que foi carregado public void loadSave() { string path = Application.persistentDataPath + "/cannonLord.dat"; if (File.Exists(path)) { dataScript data = SaveManager.LoadData(); level = data.level; money = data.money; damageUpgrade = data.damageUpgrade; velocityUpgrade = data.velocityUpgrade; fireRateUpgrade = data.fireRateUpgrade; automaticUpgrade = data.automaticUpgrade; } else { FileStream stream = new FileStream(path, FileMode.Create); stream.Close(); saveGame(); } }
//Salva os dados do dataScript em um arquivo usando o binaryformatter para salvar em binario public static void SaveData(info inf) { Debug.Log("Saving"); BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/cannonLord.dat"; FileStream stream = new FileStream(path, FileMode.Create); dataScript data = new dataScript(inf); formatter.Serialize(stream, data); stream.Close(); }
//Carrega os dados do arquivo e envia para o dataScript public static dataScript LoadData() { Debug.Log("Loading"); string path = Application.persistentDataPath + "/cannonLord.dat"; if (File.Exists(path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(path, FileMode.Open); dataScript data = formatter.Deserialize(stream) as dataScript; stream.Close(); return(data); } else { Debug.LogError("Save file not found in " + path); return(null); } }
// Use this for initialization void Start() { jumping = false; dScript = GameObject.FindGameObjectWithTag("Game").GetComponent <dataScript>(); successfulPathing = false; for (int i = 0; i < 4 - dScript.level; i++) { if (dScript.level == 0) { GameObject c = (GameObject)Instantiate(prefab[i], new Vector3(-5 + i, -3.3f, -4), Quaternion.identity); c.tag = "Player" + (i + 1); Players.Add(c); for (int i1 = 1; i1 <= i; i1++) { Physics.IgnoreCollision(Players[i].GetComponent <Collider>(), Players[i - i1].GetComponent <Collider>()); } } else { GameObject c = dScript.nextPlayers[i]; Players.Add(c); } } //dScript.nextPlayers.RemoveRange(0, dScript.nextPlayers.Count); doors[doors.Count - 1].tag = "exit"; pathScript = GameObject.FindGameObjectWithTag("exit").GetComponent <pathScript>(); numRows = pathScript.row; for (int i = 0; i < doors.Count - 1; i++) { doors[i].tag = "Door" + (i + 1); } for (int i = 0; i < doors.Count - 1; i++) { makePath(i); } if (!successfulPathing) { string door1 = " "; string door2 = " "; for (int i = 0; i < doors.Count - 1; i++) { pathScript = GameObject.FindGameObjectWithTag(doors[i].tag).GetComponent <pathScript>(); if (pathScript.target == " " && door1 == " ") { door1 = pathScript.tag; } else if (pathScript.target == " " && door2 == " ") { door2 = pathScript.tag; } } pathScript = GameObject.FindGameObjectWithTag(door1).GetComponent <pathScript>(); pathScript.target = door2; pathScript = GameObject.FindGameObjectWithTag(door2).GetComponent <pathScript>(); pathScript.target = door1; } }