Exemplo n.º 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);
            }
        }
Exemplo n.º 2
0
        protected override void _showMain()
        {
            base._showMain();
            ITEMRESOURCE res = (ITEMRESOURCE)_config;

            _imgIcon.sprite = Resources.Load <Sprite>(res.icon);
            _txtName.text   = utils.GetString(res.sname);
            _txtType.text   = utils.GetString("itemType_" + res.type);
            _txtCount.text  = LogicMgr.logicPack.GetItemCount(res.id).ToString();
            _txtDesc.text   = LogicMgr.logicPack.GetItemDesc(res);
        }
Exemplo n.º 3
0
        public string GetItemDesc(ITEMRESOURCE config)
        {
            string desc = "";

            foreach (var item in config.purpose.GetType().GetFields())
            {
                object value = config.purpose.GetType().GetField(item.Name).GetValue(config.purpose);
                desc += utils.GetString(item.Name, value.ToString());
            }
            return(desc);
        }
Exemplo n.º 4
0
 public override void ReLoadFunc(BaseResource data, int index, int total)
 {
     ITEMRESOURCE item = data as ITEMRESOURCE;
 }