Пример #1
0
    /// <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";
    }
Пример #2
0
    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";
    }
Пример #3
0
    /// <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
    }
Пример #4
0
 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;
 }