| 
					
				 | 
			
			
				@@ -1,35 +1,17 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Collections.Generic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using ET; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using FairyGUI; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using UnityEngine; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using static UnityEditor.Progress; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public class ItemDataManager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private static Dictionary<int, ItemData> _dataDic = new Dictionary<int, ItemData>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private static Dictionary<int, int> _prepareDic = new Dictionary<int, int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static void Add(int itemID, int itemNum, bool sendToServer = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static void Add(int itemID, int itemNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            switch (itemID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.EXP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.exp += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.POWER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.power += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.GOLD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.gold += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_PURPLE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.diaP += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_RED: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.diaR += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (itemCfg == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52,7 +34,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _dataDic.Add(itemID, itemData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             itemData.num += itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (ItemUtil.IsDressUpItem(itemID) && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ItemUtilCS.IsDressUpItem(itemID) && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DressUpMenuItemDataManager.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,33 +50,11 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DecomposeDataManager.Instance.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             PhotographDataManager.Instance.Add(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (sendToServer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                PrepareUpdateToServer(itemData.id, itemData.num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static void Remove(int itemID, int itemNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            switch (itemID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.EXP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.exp -= itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.POWER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.power -= itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.GOLD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.gold -= itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_PURPLE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.diaP -= itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_RED: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    RoleDataManager.diaR -= itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_dataDic.ContainsKey(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ItemData itemData = _dataDic[itemID]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,12 +65,10 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     itemData.num = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     _dataDic.Remove(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (ItemUtil.IsDressUpItem(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (ItemUtilCS.IsDressUpItem(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         DressUpMenuItemDataManager.Remove(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    PrepareUpdateToServer(itemData.id, itemData.num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,69 +80,29 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static int GetItemNum(int itemID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            switch (itemID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.EXP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return RoleDataManager.exp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.POWER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return RoleDataManager.power; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.GOLD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return RoleDataManager.gold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_PURPLE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return RoleDataManager.diaP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case ConstItemID.DIAMOND_RED: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return RoleDataManager.diaR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static int GetItemNum(int itemId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int numericType = NumericUtil.GetNumericTypeByItemId(itemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (numericType != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return GameGlobal.myNumericComponent.GetAsInt(numericType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (_dataDic.ContainsKey(itemID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_dataDic.TryGetValue(itemId, out var itemData)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ItemData itemData = _dataDic[itemID]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return itemData.num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static void InitServerData(List<RoleItem> list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static void InitServerData(List<ItemInfoProto> items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _dataDic.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _prepareDic.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (list != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            foreach (ItemInfoProto roleItem in items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                foreach (RoleItem roleItem in list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Add(roleItem.itemId, roleItem.num, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Add(roleItem.ConfigId, roleItem.Count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private static void PrepareUpdateToServer(int itemId, int itemNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _prepareDic[itemId] = itemNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Timers.inst.Exists(UpdateToServer)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Timers.inst.Add(0.1f, 1, UpdateToServer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private static void UpdateToServer(object param) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<RoleItem> list = new List<RoleItem>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            foreach (KeyValuePair<int, int> item in _prepareDic) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                RoleItem roleItem = new RoleItem(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                roleItem.itemId = item.Key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                roleItem.num = item.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                list.Add(roleItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GameProxy.ReqUpdateRoleItems(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _prepareDic.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static Dictionary<int, ItemData> GetItemDic() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return _dataDic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static void GetMainScore(int itemId, out int mainScore, out int mainScoreValue) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId); 
			 |