using System.Collections.Generic; using ET; namespace GFGGame { public class CustomSuitDataManager : SingletonBase { private static int _currentIndex; public static int currentIndex { get; set; } private static Dictionary _dataDic = new Dictionary(); public static void SaveSuit(int index, DressUpData dressUpData) { CustomSuitData suitSavedData = null; if (_dataDic.ContainsKey(index)) { suitSavedData = _dataDic[index]; } else { suitSavedData = new CustomSuitData(index); _dataDic.Add(index, suitSavedData); } suitSavedData.dressUpData = dressUpData; } public static CustomSuitData GetSuitList(int index) { CustomSuitData suitSavedData = null; if (_dataDic.ContainsKey(index)) { suitSavedData = _dataDic[index]; } else { suitSavedData = CreateDefaultSuitData(index); _dataDic.Add(index, suitSavedData); } return suitSavedData; } public static CustomSuitData CreateDefaultSuitData(int index) { CustomSuitData suitSavedData = new CustomSuitData(index); suitSavedData.dressUpData = DressUpData.CreateDefault(); return suitSavedData; } public static CustomSuitData GetCurrentSuitData() { return GetSuitList(currentIndex); } public static void SaveCurrentSuit(int index, bool showTips = true) { if (currentIndex != index) { currentIndex = index; } CustomSuitSProxy.UpdateCustomSuit(index, MyDressUpHelper.dressUpObj.DressUpDataClone(), showTips).Coroutine(); } public static void InitServerData(List list) { _dataDic.Clear(); if (list != null) { foreach (var suitProto in list) { CustomSuitData suitSavedData = new CustomSuitData(suitProto.Pos); _dataDic[suitProto.Pos] = suitSavedData; suitSavedData.dressUpData.bgId = suitProto.BgId; suitSavedData.dressUpData.suitId = suitProto.SuitId; suitSavedData.dressUpData.actionId = suitProto.ActionId; foreach (var equipId in suitProto.EquipIds) { suitSavedData.dressUpData.itemList.Add(equipId); } } } } public static string[] GetSuitPosItems() { MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege3); string[] posItems = new string[GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0] + privilegeCfg.value2Arr[0]]; for (int i = 0; i < posItems.Length; i++) { if (GetPosType(i) == 0) { posItems[i] = string.Format("我的套装{0}", NumberUtil.GetChiniseNumberText(i + 1)); } else if (GetPosType(i) == MonthCardType.Gold) { if (RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold)) { posItems[i] = string.Format("我的套装{0}", NumberUtil.GetChiniseNumberText(i + 1)); } else { posItems[i] = "豆包卡开启"; } } else if (GetPosType(i) == MonthCardType.BlackGold) { if (RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold)) { posItems[i] = string.Format("我的套装{0}", NumberUtil.GetChiniseNumberText(i + 1)); } else { posItems[i] = "阿福卡开启"; } } } return posItems; } //获取指定位置月卡类型 public static int GetPosType(int pos) { if (pos < GlobalCfgArray.globalCfg.freeSuitNum) return 0; MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege3); if (pos < GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0]) return MonthCardType.Gold; if (pos >= GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0]) return MonthCardType.BlackGold; return 0; } } }