void Trainer_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (dataManager.ActiveTrainer != null)
     {
         backpackData = dataManager.ActiveTrainer.Backpack;
     }
 }
Ejemplo n.º 2
0
    /// <summary>
    /// 往ItemListArr中添加一个物品,成功返TRUE,失败返false
    /// </summary>
    /// <param name="id">拾取对象的ID</param>
    /// <param name="num">拾取对象的数量</param>
    /// <returns></returns>
    public bool ItemAdd(int id, int num)
    {
        //找是否有相同ID的物品,有就叠加数量
        for (int i = 0; i < mainData.itemListArr.GetLength(0); i++)
        {
            for (int k = 0; k < mainData.itemListArr.GetLength(1); k++)
            {
                if (mainData.itemListArr[i, k].ID == id)
                {
                    mainData.itemListArr[i, k].Num += num;
                    BackpackController._Instance.RefreshItemUI();
                    return(true);
                }
            }
        }

        //找ItemListArr是否有空位,有就加进去
        int[] SpareLocation = CheckItemListSpare();
        if (SpareLocation != null)
        {
            mainData.itemListArr[SpareLocation[0], SpareLocation[1]].ID  = id;
            mainData.itemListArr[SpareLocation[0], SpareLocation[1]].Num = num;
            BackpackData.RefreshItemID();
            BackpackController._Instance.RefreshItemUI();
            Player._Instance.CheckItemLiftable();
            return(true);
        }

        //即没空位又无相同ID
        Debug.LogError("即没空位又无相同ID");
        return(false);
    }
Ejemplo n.º 3
0
    public void ItemReduce(int BackpackPage, int BackpackIndex)
    {
        BackpackItemSubData item = FarmDataManager._Instance.mainData.itemListArr[BackpackPage, BackpackIndex];

        item.Num -= 1;
        if (item.Num <= 0)
        {
            item.ID = 0;
        }
        BackpackData.RefreshItemID();
        BackpackController._Instance.RefreshItemUI();
    }
Ejemplo n.º 4
0
 public void LoadData(BackpackData backpackData)
 {
     if (Backpack == null)
     {
         return;
     }
     foreach (ItemData id in backpackData.itemDatas)
     {
         if (!GameManager.GetItemByID(id.itemID))
         {
             return;
         }
     }
     Backpack.LoseMoneySimple(Backpack.Money);
     Backpack.GetMoneySimple(backpackData.money);
     Backpack.size = new ScopeInt(backpackData.maxSize)
     {
         Current = backpackData.currentSize
     };
     Backpack.weight = new ScopeFloat(backpackData.maxWeightLoad)
     {
         Current = backpackData.currentSize
     };
     Backpack.Items.Clear();
     Init();
     foreach (ItemData id in backpackData.itemDatas)
     {
         ItemInfo newInfo = new ItemInfo(GameManager.GetItemByID(id.itemID), id.amount);
         //TODO 把newInfo的耐久度等信息处理
         Backpack.Items.Add(newInfo);
         if (id.indexInGrid > -1 && id.indexInGrid < itemAgents.Count)
         {
             itemAgents[id.indexInGrid].SetItem(newInfo);
         }
         else
         {
             foreach (ItemAgent ia in itemAgents)
             {
                 if (ia.IsEmpty)
                 {
                     ia.SetItem(newInfo); break;
                 }
             }
         }
     }
     UpdateUI();
 }
Ejemplo n.º 5
0
 void SaveData()
 {
     BackpackData.WriteObject(storedData);
 }