Example #1
0
        private void _tryCreateItemVo(string itemId, int count)
        {
            int          len    = packVo.items.Length;
            ITEMRESOURCE config = ConfigManager.Inst.GetItemResourceByID(itemId);

            if (config == null)
            {
                DevDebug.Log("道具[" + itemId + "]配置不存!");
                return;// 道具配置不存在
            }

            for (int i = 0; i < len; i++)
            {
                if (packVo.items[i] == null)
                {
                    continue;
                }
                if (packVo.items[i].configId != itemId)
                {
                    continue;
                }
                if (packVo.items[i].count >= config.limit)
                {
                    continue;
                }
                if ((packVo.items[i].count + count) > config.limit)
                {
                    count = count - config.limit + packVo.items[i].count;
                    packVo.items[i].count = config.limit;
                }
                else
                {
                    packVo.items[i].count += count;
                    count = 0;
                }
                break;
            }

            while (count > 0)
            {
                // 创建物品
                ItemVO itemVo = _createItemVO(itemId);
                if (count > config.limit)
                {
                    count       -= config.limit;
                    itemVo.count = config.limit;
                }
                else
                {
                    itemVo.count = count;
                    count        = 0;
                }

                // 将物品放入到背包中
                packVo.items.SetValue(itemVo, itemVo.index);
            }
        }
Example #2
0
        private ItemVO _createItemVO(string itemId)
        {
            ItemVO vo = new ItemVO();

            vo.configId = itemId;
            vo.id       = LogicMgr.logicSerial.GetSerialNum("item");
            vo.index    = _emptyIndex;

            return(vo);
        }
Example #3
0
        public void Show(VOBase vo)
        {
            _itemVo = (ItemVO)vo;
            if (vo == null)
            {
                Clear();
                return;
            }

            _imgIcon.sprite = Resources.Load <Sprite>(_itemVo.config.icon);
            itemIcon.SetActive(true);

            _txtCount.text = _itemVo.config.limit > 1 ? _itemVo.count.ToString():"";
        }
Example #4
0
 public void Clear()
 {
     itemIcon.SetActive(false);
     _txtCount.text = "";
     _itemVo        = null;
 }