| 
					
				 | 
			
			
				@@ -17,66 +17,65 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _itemExchangeDic.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static void Add(int itemID, long itemNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static void Add(ItemInfoProto itemInfoProto) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (itemCfg == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Debug.LogError($"添加了一个不存在的物品 {itemID}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var itemID = itemInfoProto.ConfigId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ItemData itemData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_dataDic.ContainsKey(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 itemData = _dataDic[itemID]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (itemCfg.itemType == ConstItemType.CARD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; //每张卡牌只有一张 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 itemData = ItemDataPool.GetItemData(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                itemData.itemType = itemInfoProto.Type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                itemData.subType = itemInfoProto.SubType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                itemData.rarity = itemInfoProto.Rarity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _dataDic.Add(itemID, itemData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            itemData.num += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ItemUtilCS.IsDressUpItem(itemID) && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemData.num = itemInfoProto.Count; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (itemInfoProto.Type == ConstItemType.DRESS_UP && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //游戏角色初始数据完成后才执行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                bool dataInited = GameGlobal.DataInited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DressUpMenuItemDataManager.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DressUpMenuItemDataManager.Add(itemInfoProto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemInfoProto)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     DecomposeDataManager.Instance.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(ClothingListView).Name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (dataInited 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    && itemCfg.rarity == ConstDressRarity.Rarity_TIANYI 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //游戏角色初始数据完成后才执行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (GameGlobal.DataInited) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(ClothingListView).Name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (itemCfg.rarity == ConstDressRarity.Rarity_TIANYI 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                    functionOpenCfg.index) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if ((itemCfg.itemType == ConstItemType.ITEM || itemCfg.itemType == ConstItemType.USEABLE) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ((itemInfoProto.Type == ConstItemType.ITEM || itemInfoProto.Type == ConstItemType.USEABLE) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 itemData.num > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BagDataManager.Instance.Add(itemData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (itemCfg.itemType == ConstItemType.HEAD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (itemInfoProto.Type == ConstItemType.HEAD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                RoleInfoManager.Instance.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RoleInfoManager.Instance.Add(itemInfoProto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (GameGlobal.DataInited) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     RoleInfoManager.Instance.AddNew(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            PhotographDataManager.Instance.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PhotographDataManager.Instance.Add(itemInfoProto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(GameGlobal.DataInited) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static void Remove(int itemID, long itemNum) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,12 +138,45 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static int GetItemType(int itemId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _dataDic.TryGetValue(itemId, out var value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(value != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return value.itemType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return itemCfg.itemType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static int GetItemSubType(int itemId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _dataDic.TryGetValue(itemId, out var value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (value != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return value.subType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return itemCfg.subType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static int GetItemRarity(int itemId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _dataDic.TryGetValue(itemId, out var value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (value != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return value.rarity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return itemCfg.rarity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static void InitServerData(List<ItemInfoProto> items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _dataDic.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             foreach (ItemInfoProto roleItem in items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Add(roleItem.ConfigId, roleItem.Count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Add(roleItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |