| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using ET;
 
- namespace GFGGame
 
- {
 
-     public class DressUpMenuSuitDataManager
 
-     {
 
-         private static List<int> _suitIDList = new List<int>();
 
-         private static List<int> _travelSuitIDList = new List<int>();//拥有的游历套装列表
 
-         public static List<int> TravelSuitIDList
 
-         {
 
-             get
 
-             {
 
-                 return _travelSuitIDList;
 
-             }
 
-         }
 
-         //获得这件装备时套装的进度,用于展示
 
-         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();
 
-             _travelSuitIDList.Clear();
 
-             _progressBySuitIdDic.Clear();
 
-             _progressByItemIdDic.Clear();
 
-         }
 
-         public static void SetSuitInfo(List<SuitInfoProto> suitInfoList)
 
-         {
 
-             if (suitInfoList != null)
 
-             {
 
-                 _suitGuideBoxBonusStatus.Clear();
 
-                 _suitSyntheticBoxBonusStatus.Clear();
 
-                 foreach (SuitInfoProto suitInfo in suitInfoList)
 
-                 {
 
-                     SuitFosterData suitFosterData = new SuitFosterData()
 
-                     {
 
-                         suitId = suitInfo.SuitId,
 
-                         maintainStep = suitInfo.MaintainStep,
 
-                         maintainBonusSteps = suitInfo.MaintainBonusSteps,
 
-                         makeNewState = suitInfo.MakeNewState
 
-                     };
 
-                     SuitFosterDataManager.Instance.InitServerData(suitFosterData);
 
-                     //图鉴
 
-                     _suitGuideBoxBonusStatus.Add(suitInfo.SuitId, suitInfo.GuideBoxBonusState);
 
-                     //合成
 
-                     _suitSyntheticBoxBonusStatus.Add(suitInfo.SuitId, suitInfo.SyntheticBoxBonusState);
 
-                 }
 
-                 EventAgent.DispatchEvent(ConstMessage.GET_SUIT_INFOS);
 
-             }
 
-         }
 
-         public static void Add(int value)
 
-         {
 
-             if (!_suitIDList.Contains(value))
 
-             {
 
-                 _suitIDList.Add(value);
 
-                 TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
 
-                 if (travelSuitCfg != null)
 
-                 {
 
-                     _travelSuitIDList.Add(travelSuitCfg.id);
 
-                 }
 
-             }
 
-         }
 
-         public static void Remove(int value)
 
-         {
 
-             if (_suitIDList.Contains(value))
 
-             {
 
-                 _suitIDList.Remove(value);
 
-                 TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
 
-                 if (travelSuitCfg != null && _travelSuitIDList.Contains(travelSuitCfg.id))
 
-                 {
 
-                     _travelSuitIDList.Remove(travelSuitCfg.id);
 
-                 }
 
-             }
 
-         }
 
-         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);
 
-             }
 
-         }
 
-         // //检测当前穿戴是否是一件完整套装,且只穿了一件套装,返回套装id
 
-         // public static int CheckCurDressIsSuit()
 
-         // {
 
-         //     if (EquipDataCache.cacher.suitId > 0) return EquipDataCache.cacher.suitId;
 
-         //     var equipDatas = EquipDataCache.cacher.equipDatas;
 
-         //     int dressSuitId = 0;
 
-         //     List<int> _equipDatas = new List<int>();
 
-         //     for (int i = 0; i < equipDatas.Count; i++)
 
-         //     {
 
-         //         if (DressUpMenuItemDataManager.CheckIsSceneType(equipDatas[i])) continue;
 
-         //         if (equipDatas[i] != ConstItemID.DEFULT_FA_XING && equipDatas[i] != ConstItemID.DEFULT_LIAN_YI_QUN && equipDatas[i] != ConstItemID.DEFULT_NEI_DA && equipDatas[i] != ConstItemID.DEFULT_XIA_ZHUANG)
 
-         //         {
 
-         //             int suitId = SuitCfgManager.Instance.GetItemSuitId(equipDatas[i]);
 
-         //             if (suitId <= 0) return 0;//有任何不属于套装的部件且不是原始服装,则当前穿戴不属于套装
 
-         //             if (dressSuitId != 0 && dressSuitId != suitId) return 0;//当前穿戴不同套装的部件,则当前穿戴不属于套装
 
-         //             dressSuitId = suitId;
 
-         //             _equipDatas.Add(equipDatas[i]);
 
-         //         }
 
-         //     }
 
-         //     if (dressSuitId == 0) return dressSuitId;
 
-         //     int[] itemIds = SuitCfgManager.Instance.GetSuitItems(dressSuitId);
 
-         //     for (int i = 0; i < itemIds.Length; i++)
 
-         //     {
 
-         //         if (DressUpMenuItemDataManager.CheckIsSceneType(itemIds[i])) continue;
 
-         //         if (_equipDatas.IndexOf(itemIds[i]) < 0) return 0;//套装部件穿戴不完整
 
-         //     }
 
-         //     return dressSuitId;
 
-         // }
 
-         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 SetSuitGuideBoxBonusCompleted(int suitId)
 
-         {
 
-             _suitGuideBoxBonusStatus[suitId] = ConstBonusStatus.GOT;
 
-             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
 
-         }
 
-         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 SetSuitSyntheticBoxBonusCompleted(int suitId)
 
-         {
 
-             _suitSyntheticBoxBonusStatus[suitId] = ConstBonusStatus.GOT;
 
-             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
 
-         }
 
-     }
 
- }
 
 
  |