/// <summary> /// 载入数据 /// </summary> public override void loadData() { // 声明临时变量存放数据 Data data = new Data(); DataForPlayer playerdata = new DataForPlayer(); // 从DataAssets获取数据至playerdata Operator.loadData(out data); playerdata = (DataForPlayer)data; // 同步数据至人物 #region 步 TotalHealth = playerdata.TotalHealth; CurrentHealth = playerdata.CurrentHealth; TotalEnergy = playerdata.TotalEnergy; CurrentEnergy = playerdata.CurrentEnergy; TotalHungerValue = playerdata.TotalHungerValue; CurrentHungerValue = playerdata.CurrentHungerValue; Coins = playerdata.Coins; ItemReference = playerdata.ItemReference; #endregion // 清空背包 Bag.clearItem(); // 更新背包 Bag.LoadMode = true; foreach (ItemLoadIndex i in playerdata.ItemReference) { Item item = ItemStock.Instance.getItemByID(i.ID); item.setStatus(i.State); Bag.addItem(item, i.Count); } if (playerdata.BuffReference != null) { foreach (BuffLoadIndex b in playerdata.BuffReference) { Buff buff = BuffStock.findBuff(b.ID); buff.setStatus(b.State); BM.addBuff(buff); } } Bag.LoadMode = false; Operator.DataAssets.Path = Application.dataPath + "/Save/" + CharacterName + "Data.txt"; }
public void loadData() { // 声明临时变量存放数据 Data data = new Data(); DataForPlayer playerdata = new DataForPlayer(); // 从DataAssets获取数据至playerdata Operator.loadData(out data); playerdata = (DataForPlayer)data; // 同步数据至人物 TotalHealth = playerdata.TotalHealth; CurrentHealth = playerdata.CurrentHealth; TotalEnergy = playerdata.TotalEnergy; CurrentEnergy = playerdata.CurrentEnergy; Coins = playerdata.Coins; ItemReference = playerdata.ItemReference; Operator.DataAssets.Path = Application.dataPath + "/Save/PlayerData.txt"; }
/// <summary> /// 保存数据 /// </summary> public override void saveData() { DataForPlayer data = new DataForPlayer(); data.Path = Operator.DataAssets.Path; data.CurrentHealth = CurrentHealth; data.TotalHealth = TotalHealth; data.CurrentEnergy = CurrentEnergy; data.TotalEnergy = TotalEnergy; data.CurrentHungerValue = CurrentHungerValue; data.TotalHungerValue = TotalHungerValue; data.Coins = Coins; // 清除物品索引列表 data.ItemReference.Clear(); // 更新物品索引列表 foreach (Item i in ItemList) { data.addItemIndex(i.ID, Bag.findItemGrid(i).ItemCount, i.getStatus()); } // 更新Buff列表 foreach (Buff buff in BuffList) { data.BuffReference.Add(new BuffLoadIndex(buff.ID, buff.Duration, buff.getStatus())); } // 更新DataAssets Operator.DataAssets = data; Operator.saveData(); print("SaveData|Path:" + Operator.DataAssets.Path); #if UNITY_EDITOR #else try { MessageBoard.Instance.generateMessage("Save Data..."); } catch (Exception e) { print(e.Message); } #endif }
public void loadData(out Data data) { data = new Data(); MessageBoard.Instance.generateMessage("Load:" + DataAssets.Path); // 如果路径上有文件,就读取文件 if (File.Exists(DataAssets.Path)) { //读取数据 BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(DataAssets.Path, FileMode.Open); object temp = bf.Deserialize(file); DataAssets = /*(DataForPlayer)*/ (Data)temp; DataForPlayer p = (DataForPlayer)temp; file.Close(); } // 如果没有文件,就new出一个Data else { DataAssets = new Data(); } data = DataAssets; //return DataAssets; }