Beispiel #1
0
        /// <summary>
        /// 添加物品。
        /// </summary>
        /// <param name="data">网络消息数据。</param>
        private void OnItemAdd(MsgData data)
        {
            MsgData_sItemAdd info = data as MsgData_sItemAdd;

            BagInfo bag = GetBagInfo(info.Bag);

            if (bag != null)
            {
                bag.AddItem(info);
                if (mItems.ContainsKey(info.UID))
                {
                    //额外多Add了一次,下次Del时抵消
                    mCacheAddUID = info.UID;
                    mItems.Remove(mCacheAddUID);
                }
                mItems.Add(info.UID, bag.GetItemInfo(info.Pos));
                TriggerEventItemAdd(info.Bag, info.Pos);

                if (info.Bag == BagType.ITEM_BAG_TYPE_EQUIP)
                {
                    ShowEquipChange(info.ID);
                }
            }
            else
            {
                LogMgr.ErrorLog("未知背包编号 id:{0}", info.Bag);
            }
        }
Beispiel #2
0
 /// <summary>
 /// 初始化物品信息。
 /// </summary>
 /// <param name="result">服务器下发信息。</param>
 public void Init(MsgData_sItemAdd info)
 {
     mUID       = info.UID;
     mID        = info.ID;
     mCount     = info.Count;
     mBag       = info.Bag;
     mPos       = info.Pos;
     mUseCount  = info.UseCount;
     mTodayUse  = info.TodayUse;
     mCanUseVal = info.CanUseVal;
     mFlag      = info.Flag;
     SetTimeLimit(info.TimeLimt);
 }
Beispiel #3
0
        /// <summary>
        /// 添加物品。
        /// </summary>
        /// <param name="result">服务器下发信息。</param>
        public void AddItem(MsgData_sItemAdd result)
        {
            ItemInfo info = GetItemInfo(result.Pos);

            if (info != null)
            {
                LogMgr.ErrorLog("物品添加失败,该格子已有物品 bag:{0} pos:{1}", info.Bag, info.Pos);
                return;
            }

            //加入物品
            info = ItemInfo.GetItemInfoClass(result.Bag);
            mItemInfos.Add(result.Pos, info);
            info.Init(result);
        }