| | |
| | | itemDayUseCntDict.Clear(); |
| | | itemSumUseCntDict.Clear(); |
| | | itemGUIDDict.Clear(); |
| | | showDropItem = false; |
| | | isPlayBetterEquipEffect = false; |
| | | colorType = EquipColorType.None; |
| | | lvType = EquipLvType.All; |
| | |
| | | public bool isPlayBetterEquipEffect { get; set; } //整理背包时是否播放特效 |
| | | |
| | | #region 接收服务端数据 |
| | | bool showDropItem = false; |
| | | private Dictionary<PackType, SinglePack> playerPackDict = new Dictionary<PackType, SinglePack>(); |
| | | private Dictionary<string, ItemModel> itemGUIDDict = new Dictionary<string, ItemModel>(); |
| | | |
| | | public void UpdatePack(H0725_tagRolePackRefreshEx packInfo) |
| | | { |
| | | showDropItem = false; |
| | | SetLookIndex(null); |
| | | var packType = (PackType)packInfo.PackType; |
| | | if (!playerPackDict.ContainsKey(packType)) |
| | |
| | | { |
| | | var itemInfo = new ItemInfo(packInfo.ItemInfo[i]); |
| | | var item = playerPackDict[packType].UpdateItem(itemInfo); |
| | | AddItemGUIDDict(item); |
| | | AddItemGUIDDict(item, false); |
| | | |
| | | if (isPlayBetterEquipEffect) |
| | | { |
| | |
| | | { |
| | | isPlayBetterEquipEffect = false; |
| | | SetLookIndex(null); |
| | | showDropItem = true; |
| | | PackType type = (PackType)serverItem.PackType; |
| | | if (!playerPackDict.ContainsKey(type)) |
| | | { |
| | | playerPackDict.Add(type, new SinglePack(type)); |
| | | } |
| | | }
|
| | |
|
| | | var showNewItem = false;
|
| | | if (itemGUIDDict.ContainsKey(serverItem.ItemGUID))
|
| | | {
|
| | | var prePack = itemGUIDDict[serverItem.ItemGUID].packType;
|
| | | var preAuction = itemGUIDDict[serverItem.ItemGUID].isAuction;
|
| | | var nowPackType = type;
|
| | | var nowAcution = serverItem.IsBind == 1;
|
| | | showNewItem = preAuction != nowAcution || prePack != nowPackType;
|
| | | }
|
| | | else
|
| | | {
|
| | | showNewItem = true;
|
| | | }
|
| | | |
| | | var itemInfo = new ItemInfo(serverItem); |
| | | var item = playerPackDict[type].UpdateItem(itemInfo); |
| | | AddItemGUIDDict(item); |
| | | var item = playerPackDict[type].UpdateItem(itemInfo);
|
| | | AddItemGUIDDict(item, showNewItem); |
| | | |
| | | if (refreshItemCountEvent != null) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | void AddItemGUIDDict(ItemModel itemModel) |
| | | { |
| | | if (!itemGUIDDict.ContainsKey(itemModel.guid)) |
| | | { |
| | | itemGUIDDict.Add(itemModel.guid, itemModel); |
| | | GetItemEventCtrl(itemModel); |
| | | } |
| | | else |
| | | { |
| | | var prePack = itemGUIDDict[itemModel.guid].packType; |
| | | |
| | | itemGUIDDict[itemModel.guid] = itemModel; |
| | | |
| | | if (prePack != itemModel.packType) |
| | | { |
| | | GetItemEventCtrl(itemModel); |
| | | } |
| | | } |
| | | void AddItemGUIDDict(ItemModel itemModel, bool showNewItem) |
| | | {
|
| | | itemGUIDDict[itemModel.guid] = itemModel;
|
| | | GetItemEventCtrl(itemModel, showNewItem); |
| | | } |
| | | |
| | | void DeleteItemDictByGUID(PackType type, string guid) |
| | |
| | | } |
| | | #endregion |
| | | |
| | | private void GetItemEventCtrl(ItemModel itemModel) |
| | | private void GetItemEventCtrl(ItemModel itemModel, bool showNewItem) |
| | | { |
| | | if (showDropItem) |
| | | if (showNewItem) |
| | | { |
| | | bool isOverdue = false; |
| | | if (itemModel.config.ExpireTime > 0) |