Ejemplo n.º 1
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.º 2
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();
    }