void LoadPlayer() { string path = Application.persistentDataPath + "/player.fun"; if (File.Exists(path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream fs = new FileStream(path, FileMode.Open); CharFullParts fullParts = formatter.Deserialize(fs) as CharFullParts; //create new avatar foreach (CharPart charPart in fullParts.allCharParts) { GameObject part = Instantiate(Resources.Load(charPart.prefabPath) as GameObject, charInScene.transform); //part.transform.SetParent(charInScene.transform); Vector3 pos = new Vector3(charPart.rectPos[0], charPart.rectPos[1], 0); part.GetComponent <RectTransform>().localPosition = pos; part.SetActive(charPart.isActive); part.tag = charPart.tag; part.transform.SetSiblingIndex(charPart.posAsChild); } fs.Close(); } }
void SavePlayer(CharFullParts fullParts) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/player.fun"; FileStream fs = new FileStream(path, FileMode.Create); formatter.Serialize(fs, fullParts); fs.Close(); }
void StartSavingPlayer(GameObject charInScene) { CharFullParts charFullParts = new CharFullParts(); int i = 0; foreach (Transform child in charInScene.transform) { CharPart charPart = new CharPart( child.GetComponent <ResourcePath>().resourcePath, child.localPosition.x, child.localPosition.y, child.gameObject.activeSelf, i, child.tag ); charFullParts.allCharParts.Add(charPart); i++; } //SAVE SavePlayer(charFullParts); }