| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | using System.Collections.Generic;using ET;namespace GFGGame{    public class CustomSuitDataManager : SingletonBase<CustomSuitDataManager>    {        private static int _currentIndex;        public static int currentIndex { get; set; }        private static Dictionary<int, CustomSuitData> _dataDic = new Dictionary<int, CustomSuitData>();        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<CustomSuitProto> 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;        }    }}
 |