| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 | 
							- using System.Collections;
 
- using System.Collections.Generic;
 
- namespace GFGGame
 
- {
 
-     public class DressUpMenuSuitDataManager
 
-     {
 
-         private static List<int> _suitIDList = new List<int>();
 
-         //获得这件装备时套装的进度,用于展示
 
-         private static Dictionary<int, int> _progressByItemIdDic = new Dictionary<int, int>();
 
-         //套装当前的进度
 
-         private static Dictionary<int, int> _progressBySuitIdDic = new Dictionary<int, int>();
 
-         private static Dictionary<int, int> _suitGuideBoxBonusStatus = new Dictionary<int, int>();
 
-         private static Dictionary<int, int> _suitSyntheticBoxBonusStatus = new Dictionary<int, int>();
 
-         public static void InitData()
 
-         {
 
-             _suitIDList.Clear();
 
-             _progressBySuitIdDic.Clear();
 
-             _progressByItemIdDic.Clear();
 
-         }
 
-         public static void InitServerData(List<SystemSuit> systemSuitList)
 
-         {
 
-             _suitGuideBoxBonusStatus.Clear();
 
-             _suitSyntheticBoxBonusStatus.Clear();
 
-             if (systemSuitList != null)
 
-             {
 
-                 foreach(SystemSuit systemSuit in systemSuitList)
 
-                 {
 
-                     _suitGuideBoxBonusStatus.Add(systemSuit.suitId, systemSuit.boxStatus);
 
-                     _suitSyntheticBoxBonusStatus.Add(systemSuit.suitId, systemSuit.boxStatusSyn);
 
-                 }
 
-             }
 
-         }
 
-         public static void Add(int value)
 
-         {
 
-             if(!_suitIDList.Contains(value))
 
-             {
 
-                 _suitIDList.Add(value);
 
-             }
 
-         }
 
-         public static void Remove(int value)
 
-         {
 
-             if(_suitIDList.Contains(value))
 
-             {
 
-                 _suitIDList.Remove(value);
 
-             }
 
-         }
 
-         public static void GetTotalProgress(out int count, out int totalCount)
 
-         {
 
-             totalCount = SuitCfgManager.Instance.totalItemCount;
 
-             count = 0;
 
-             foreach(KeyValuePair<int , int> item in _progressBySuitIdDic)
 
-             {
 
-                 count += item.Value;
 
-             }
 
-         }
 
-         public static void GetSuitProgressByItemId(int itemID, out int suitId, out int count)
 
-         {
 
-             suitId = SuitCfgManager.Instance.GetItemSuitId(itemID);
 
-             if(suitId > 0)
 
-             {
 
-                 if(_progressByItemIdDic.ContainsKey(itemID))
 
-                 {
 
-                     count = _progressByItemIdDic[itemID];
 
-                 }
 
-                 else
 
-                 {
 
-                     count = 0;
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 count = 0;
 
-             }
 
-         }
 
-         public static void GetSuitProgressBySuitId(int suitId, out int count, out int totalCount)
 
-         {
 
-             if(suitId > 0)
 
-             {
 
-                 if(_progressBySuitIdDic.ContainsKey(suitId))
 
-                 {
 
-                     count = _progressBySuitIdDic[suitId];
 
-                 }
 
-                 else
 
-                 {
 
-                     count = 0;
 
-                 }
 
-                 totalCount = SuitCfgManager.Instance.GetTotalCountOfOneSuit(suitId);
 
-             }
 
-             else
 
-             {
 
-                 count = 0;
 
-                 totalCount = 1;
 
-             }
 
-         }
 
-         public static float GetSuitProgressValueBySuitId(int suitId)
 
-         {
 
-             int count = 0;
 
-             int totalCount = 1;
 
-             GetSuitProgressBySuitId(suitId, out count, out totalCount);
 
-             return (float)count/totalCount;
 
-         }
 
-         public static bool CheckHaveSuit(int suitId)
 
-         {
 
-             return _suitIDList.Contains(suitId);
 
-         }
 
-         public static void CheckItemInSuit(int itemId)
 
-         {
 
-             int suitId = SuitCfgManager.Instance.GetItemSuitId(itemId);
 
-             if(suitId > 0)
 
-             {
 
-                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
 
-                 int[] itemIds = SuitCfgManager.Instance.GetSuitItems(suitId);
 
-                 int totalCount = itemIds.Length;
 
-                 bool hasAll = true;
 
-                 int count = 0;
 
-                 
 
-                 for(int i = 0; i < totalCount; i++)
 
-                 {
 
-                     int tempItemId = itemIds[i];
 
-                     bool hasItem = DressUpMenuItemDataManager.CheckHasItem(tempItemId);
 
-                     if(!hasItem)
 
-                     {
 
-                         hasAll = false;
 
-                     }
 
-                     else
 
-                     {
 
-                         count++;
 
-                     }
 
-                 }
 
-                 _progressBySuitIdDic[suitId] = count;
 
-                 _progressByItemIdDic[itemId] = count;
 
-                 if(hasAll)
 
-                 {
 
-                     Add(suitId);
 
-                 }
 
-                 GetSuitItemController.AddItemId(itemId);
 
-             }
 
-         }
 
-         public static List<int> GetSuitIDList()
 
-         {
 
-             return (List<int>)_suitIDList.GetRange(0, _suitIDList.Count);
 
-         }
 
-         
 
-         public static int GetSuitGuideBonusStatus(int suitId)
 
-         {
 
-             int status = ConstBonusStatus.CAN_NOT_GET;
 
-             if(_suitGuideBoxBonusStatus.ContainsKey(suitId))
 
-             {
 
-                 status = _suitGuideBoxBonusStatus[suitId];
 
-             }
 
-             if(status == ConstBonusStatus.CAN_NOT_GET)
 
-             {
 
-                 if (CheckHaveSuit(suitId))
 
-                 {
 
-                     status = ConstBonusStatus.CAN_GET;
 
-                 }
 
-             }
 
-             return status;
 
-         }
 
-         public static void GetSuitGuideBoxBonus(int suitId)
 
-         {
 
-             int status = ConstBonusStatus.GOT;
 
-             _suitGuideBoxBonusStatus[suitId] = status;
 
-             SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
 
-             List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonusArr);
 
-             foreach(ItemData itemData in itemDatas)
 
-             {
 
-                 ItemDataManager.Add(itemData.id, itemData.num);
 
-             }
 
-             int statusSyn = GetSuitSyntheticBonusStatus(suitId);
 
-             GameProxy.ReqUpdateSystemSuitBoxStatus(suitId, status, statusSyn);
 
-             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
 
-             GetSuitItemController.TryShow(0);
 
-         }
 
-         public static int GetSuitSyntheticBonusStatus(int suitId)
 
-         {
 
-             int status = ConstBonusStatus.CAN_NOT_GET;
 
-             if (_suitSyntheticBoxBonusStatus.ContainsKey(suitId))
 
-             {
 
-                 status = _suitSyntheticBoxBonusStatus[suitId];
 
-             }
 
-             if (status == ConstBonusStatus.CAN_NOT_GET)
 
-             {
 
-                 if (CheckHaveSuit(suitId))
 
-                 {
 
-                     status = ConstBonusStatus.CAN_GET;
 
-                 }
 
-             }
 
-             return status;
 
-         }
 
-         public static void GetSuitSyntheticBoxBonus(int suitId)
 
-         {
 
-             int status = ConstBonusStatus.GOT;
 
-             _suitSyntheticBoxBonusStatus[suitId] = status;
 
-             SuitSyntheticCfg suitCfg = SuitSyntheticCfgArray.Instance.GetCfg(suitId);
 
-             List<ItemData> itemDatas = ItemUtil.CreateItemDataList(suitCfg.boxBonus);
 
-             foreach (ItemData itemData in itemDatas)
 
-             {
 
-                 ItemDataManager.Add(itemData.id, itemData.num);
 
-             }
 
-             int statusGuide = GetSuitGuideBonusStatus(suitId);
 
-             GameProxy.ReqUpdateSystemSuitBoxStatus(suitId, statusGuide, status);
 
-             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
 
-         }
 
-     }
 
- }
 
 
  |