private void archieveEnter() { DataOfPlayer dataOfPlayer = DataOfPlayer.getInstance(0, 0, Vector3.zero, 0, null, false); if (dataOfPlayer != null && dataOfPlayer.isArchieve) { //设置人物位置 GameObject player = GameObject.FindGameObjectWithTag("Player"); player.GetComponent <PlayerState>().Hp = dataOfPlayer.playerData.Hp; player.GetComponent <PlayerState>().Mp = dataOfPlayer.playerData.Mp; player.transform.position = dataOfPlayer.playerData.playerPosition; setCollecter(dataOfPlayer.playerData.collectors);//设置硬币已经得到数 //重新设置硬币 GameObject[] gameObjects = GameObject.FindGameObjectsWithTag("Coin"); foreach (GameObject i in gameObjects) { Destroy(i); } foreach (Vector3 i in dataOfPlayer.coins) { Instantiate(coins, i, Quaternion.identity); } dataOfPlayer.setArchieve(false); } }
public int LoadArch() { string name; Vector3 v3 = Vector3.zero; List <Vector3> coins = new List <Vector3>(); int scene = 0, collecters = 0; float hp = 0, mp = 0; //将data中的object存入 foreach (Item i in data.items) { if (i.tag == "Player") { name = i.name; v3 = new Vector3((float)i.x, (float)i.y, (float)i.z); hp = (float)i.Hp; mp = (float)i.Mp; collecters = i.collectors; } if (i.tag == "Scene") { scene = i.scene; } if (i.tag == "Coin") { coins.Add(new Vector3((float)i.x, (float)i.y, (float)i.z)); } DataOfPlayer.getInstance(hp, mp, v3, collecters, coins, true); } return(scene); }
public static DataOfPlayer getInstance(float ahp, float amp, Vector3 position, int collectors, List <Vector3> coinPosition, bool archieve) { if (archieve == true) { dataOfPlayer = new DataOfPlayer(); dataOfPlayer.setData(ahp, amp, position, collectors, archieve); dataOfPlayer.setCoins(coinPosition); } return(dataOfPlayer); }
public static void Player(GameManager game) { BinaryFormatter formatter = new BinaryFormatter(); string filePath = Application.persistentDataPath + "/playerInfo.dat"; FileStream fileStream = new FileStream(filePath, FileMode.Create); DataOfPlayer data = new DataOfPlayer(game); formatter.Serialize(fileStream, data); fileStream.Close(); }
public static DataOfPlayer Load() { string filePath = Application.persistentDataPath + "/playerInfo.dat"; if (File.Exists(filePath)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(filePath, FileMode.Open); DataOfPlayer data = formatter.Deserialize(stream) as DataOfPlayer; stream.Close(); return(data); } else { Debug.Log("path doesnt exist" + filePath); return(null); } }