Beispiel #1
0
    public void AddItem(int id, int num)
    {
        XItem item = DataManager.Instance.GetItemDataById(id);

        if (item == null)
        {
            int newPos = GetNewPos(EBagType.ITEM);
            if (newPos != 0)
            {
                DataManager.Instance.MaxInstance++;
                item          = new XItem();
                item.Instance = DataManager.Instance.MaxInstance;
                item.Pos      = newPos;
                item.Id       = id;
                item.Num      = num;
                item.PosType  = (int)EPosType.BagItem;
                DataBagItem.Insert(newPos, item);
            }
        }
        else
        {
            item.Num += num;
            DataBagItem.Update(item.Pos, item);
        }
    }
Beispiel #2
0
    public bool UseBagItem(int id, int num)
    {
        XItem item = DataManager.Instance.GetItemDataById(id);

        if (item == null)
        {
            return(false);
        }
        if (item.Num < num)
        {
            return(false);
        }
        item.Num -= num;
        if (item.Num < 1)
        {
            int pos = item.Pos;
            DataBagItem.Delete(pos);
        }
        else
        {
            DataBagItem.Update(item.Pos, item);
        }
        return(true);
    }