using System.Collections.Generic; using cfg.GfgCfg; 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 = CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.GetOrDefault(MonthCardPrivilegeType.Privilege3); string[] posItems = new string[ CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0] + privilegeCfg.Value2[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 < CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum) return 0; MonthlyCardPrivilegeCfg privilegeCfg = CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.GetOrDefault(MonthCardPrivilegeType.Privilege3); if (pos < CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0]) return MonthCardType.Gold; if (pos >= CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0]) return MonthCardType.BlackGold; return 0; } } }