少年修仙传客户端代码仓库
client_Hale
2018-12-08 65fb6364670f86e21adfab1ae0b42a7be8dc07f4
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
11个文件已修改
2个文件已添加
673 ■■■■ 已修改文件
Core/GameEngine/Model/ConfigManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB9_Team/DTCB912_tagGCTeamMemFuncDataList.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFightWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/NormalDungeonEntranceWin.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/WHYJRuleWin.cs 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/WHYJRuleWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/FBHelpPointExchageNotify.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerMainDate.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/ShopItemCell.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/GroupDungeonChallengeProcessor.cs 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs
@@ -47,7 +47,7 @@
    public IEnumerator Co_LoadConfigs()
    {
        StartSyncTask<LoginSeverListConfig>();
        AddAsyncTask<IconConfig>();
        StartSyncTask<IconConfig>();
        AddAsyncTask<ItemConfig>();
        AddAsyncTask<SkillConfig>();
        AddAsyncTask<DirtyNameConfig>();
Core/NetworkPackage/DTCFile/ServerPack/HB9_Team/DTCB912_tagGCTeamMemFuncDataList.cs
@@ -22,22 +22,22 @@
            {           
                main.IsSend = true;
                return;
                main.LayerNumber = 7;
                for (int i = 0; i < vNetData.MemCount; i++)
                {
                    if (int.Parse(vNetData.MemFuncDataList[i].MemFuncData) <= main.LayerNumber)
                    {
                        main.LayerNumber = int.Parse(vNetData.MemFuncDataList[i].MemFuncData);
                    }
                }
                if (main.LayerNumber - main.WaHuangHighestFloor >= 0)
                {
                    main.LayerNumber -= main.WaHuangHighestFloor;
                }
                else
                {
                    main.LayerNumber = 0;
                }
                //main.LayerNumber = 7;
                //for (int i = 0; i < vNetData.MemCount; i++)
                //{
                //    if (int.Parse(vNetData.MemFuncDataList[i].MemFuncData) <= main.LayerNumber)
                //    {
                //        main.LayerNumber = int.Parse(vNetData.MemFuncDataList[i].MemFuncData);
                //    }
                //}
                //if (main.LayerNumber - main.WaHuangHighestFloor >= 0)
                //{
                //    main.LayerNumber -= main.WaHuangHighestFloor;
                //}
                //else
                //{
                //    main.LayerNumber = 0;
                //}
            }
        }
System/Dungeon/DungeonFightWin.cs
@@ -204,7 +204,7 @@
            string language = string.Empty;
            if (dataMapId == GeneralDefine.ruinsTranscriptMapId)
            {
                language = Language.Get(model.mission.lineID > main.LayerNumber ? "WHMJ_Quit2" : "WHMJ_Quit1");
                language = Language.Get(model.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1");
            }
            else if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
            {
System/Dungeon/DungeonModel.cs
@@ -530,66 +530,10 @@
        private void OpenFloorChooseWin()
        {
            var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
            var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>();
            if (teamModel.myTeam.GetOnlineMemberCount() > 0)
            {
                var cB910 = new CB910_tagCGQueryTeamMemFuncData();
                cB910.TeamMemFuncType = 0;
                mainModel.IsSend = false;
                GameNetSystem.Instance.SendInfo(cB910);
            }
            else
            {
                int Index = -1;
                if (dungeonRecords.ContainsKey(51010))
                {
                    var DungeonRecord = dungeonRecords[51010];
                    for (int i = 0; i < DungeonRecord.lineGrades.Count; i++)
                    {
                        if (DungeonRecord.lineGrades[i] == 5)
                        {
                            Index = i;
                        }
                    }
                }
                if (Index > -1)
                {
                    if (Index + 1 >= 7)
                    {
                        if (7 - mainModel.WaHuangHighestFloor >= 0)
                            mainModel.LayerNumber = 7 - mainModel.WaHuangHighestFloor;
                    }
                    else
                    {
                        if ((Index + 1) - mainModel.WaHuangHighestFloor >= 0)
                        {
                            mainModel.LayerNumber = (Index + 1) - mainModel.WaHuangHighestFloor;
                        }
                        else
                        {
                            mainModel.LayerNumber = 0;
                        }
                    }
                }
                else
                {
                    mainModel.LayerNumber = 0;
                }
                mainModel.IsSend = true;
            }
            SnxxzGame.Instance.StartCoroutine(AwaitTime());
        }
        IEnumerator AwaitTime()
        {
            yield return WaitingForSecondConst.WaitMS700;
            var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>();
            if (!mainModel.IsSend)
            {
                yield break;
            }
            RequestChallangeDungeon(ruinsTranscriptMapId, mainModel.LayerNumber);
            int WhyjNuber = mainModel.GetWHYJNum();
            mainModel.LayerNumberNow = WhyjNuber - 1;
            RequestChallangeDungeon(ruinsTranscriptMapId, WhyjNuber-1);
        }
        public void GroupChallenge(int _dungeonId, int _lineId = 0)
System/Dungeon/NormalDungeonEntranceWin.cs
@@ -55,15 +55,16 @@
        [SerializeField] Text m_FairyLandTip;
        [SerializeField] Text m_WhyjEnterRule;//娲皇遗迹
        [SerializeField] Text WhyjEnterFloor;//娲皇遗迹
        [SerializeField] Button m_RuletBtn;//规则说明按钮
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        PlayerMainDate mainDate { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
        #region Built-in
        private int ruinsTranscriptMapId;
        protected override void BindController()
        {
            ruinsTranscriptMapId = int.Parse(Config.Instance.Get<FuncConfigConfig>("SpRewardMapID").Numerical1);
        }
        protected override void AddListeners()
@@ -74,6 +75,7 @@
            m_Sweep.AddListener(SweepDungeon);
            m_Group.AddListener(OpenGroup);
            m_CloseWin.AddListener(CloseClick);
            m_RuletBtn.AddListener(RuletBtn);
        }
        protected override void OnPreOpen()
@@ -83,16 +85,15 @@
            DrawDungeonTicketInfo();
            DisplayFairyLandTip();
            m_BreifInfo.SetDungeonInfo(model.currentDungeon);
            if (ruinsTranscriptMapId == model.currentDungeon.mapId)//娲皇遗迹
            if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId)//娲皇遗迹
            {
                GetWhyjLayerNumber();
                m_WhyjEnterRule.gameObject.SetActive(true);
                m_WhyjEnterRule.text = Language.Get("WhyjEnterRule");
                if (!m_GroupStart.gameObject.activeSelf && !m_AutoGroupStart.gameObject.activeSelf)
                {
                    WhyjEnterFloor.gameObject.SetActive(true);
                    var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>();
                    WhyjEnterFloor.text = Language.Get("WhyjEnterFloor", mainModel.LayerNumber + 1);
                    int Number = mainDate.GetWHYJNum();
                    WhyjEnterFloor.text = Language.Get("WhyjEnterFloor", Number);
                }
                else
                {
@@ -103,6 +104,15 @@
            {
                m_WhyjEnterRule.gameObject.SetActive(false);
                WhyjEnterFloor.gameObject.SetActive(false);
            }
            if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId)
            {
                m_RuletBtn.gameObject.SetActive(true);
            }
            else
            {
                m_RuletBtn.gameObject.SetActive(false);
            }
        }
@@ -510,44 +520,13 @@
            }
        }
        private void GetWhyjLayerNumber()//获取单人的娲皇层数
        private void RuletBtn()//规则按钮
        {
            DungeonRecord dungeonRecords;
            var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>();
            if (model.TryGetRecord(ruinsTranscriptMapId, out dungeonRecords))
            if (mainDate.ruinsTranscriptMapId == model.currentDungeon.mapId)
            {
                int Index = -1;
                for (int i = 0; i < dungeonRecords.lineGrades.Count; i++)
                {
                    if (dungeonRecords.lineGrades[i]== 5)
                    {
                        Index = i;
                    }
                }
                if (Index > -1)
                {
                    if (Index + 1 >= 7)
                    {
                        if (7 - mainModel.WaHuangHighestFloor >= 0)
                            mainModel.LayerNumber = 7 - mainModel.WaHuangHighestFloor;
                    }
                    else
                    {
                        if ((Index + 1) - mainModel.WaHuangHighestFloor >= 0)
                        {
                            mainModel.LayerNumber = (Index + 1) - mainModel.WaHuangHighestFloor;
                        }
                        else
                        {
                            mainModel.LayerNumber = 0;
                        }
                    }
                }
                else
                {
                    mainModel.LayerNumber = 0;
                }
            }
                WindowCenter.Instance.Open<WHYJRuleWin>();
            }
        }
    }
System/Dungeon/WHYJRuleWin.cs
New file
@@ -0,0 +1,152 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Saturday, December 08, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    //娲皇遗迹规则
    [XLua.Hotfix]
    public class WHYJRuleWin : Window
    {
        [SerializeField] ScrollerController m_ScrollerController;
        [SerializeField] Button m_CloseBtn;
        PlayerMainDate mainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
        #region Built-in
        protected override void BindController()
        {
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
        }
        protected override void AddListeners()
        {
            m_CloseBtn.AddListener(()=> { Close(); });
        }
        protected override void OnPreOpen()
        {
            OnCreateGridLineCell(m_ScrollerController);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        void OnCreateGridLineCell(ScrollerController gridCtrl)
        {
            gridCtrl.Refresh();
            foreach (var key in mainModel.WHYJPowerDic.Keys)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, key);
            }
            gridCtrl.Restart();
        }
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
            int Index = cell.index;
            Text Text_Layers = cell.transform.Find("Text_Layers").GetComponent<Text>();//层数
            Text_Layers.text = SetNumber(Index);
            Text Text_Power = cell.transform.Find("Text_Power").GetComponent<Text>();//战力
            Text Text_Status = cell.transform.Find("Text_Status").GetComponent<Text>();//状态
            int FightPoint = (int)PlayerDatas.Instance.baseData.FightPoint;
            int WhyjPower = mainModel.WHYJPowerDic[Index];
            if (Index == 1)
            {
                Text_Power.text = Language.Get("WHYJFloor5");
            }
            else
            {
                Text_Power.text = WhyjPower.ToString();
            }
            if (FightPoint >= WhyjPower)
            {
                Text_Power.color = new Color32(53,225,34,255);
            }
            else
            {
                Text_Power.color = new Color32(255, 244, 204, 255);
            }
            int NumberNow = mainModel.GetWHYJNum();
            int NumberAll = mainModel.LayerNumber+1;
            if (Index > NumberAll)
            {
                Text_Status.text = Language.Get("WHYJFloor3");
            }
            else
            {
                if (Index > NumberNow)
                {
                    if (Index == NumberAll)
                    {
                        Text_Status.text = Language.Get("WHYJFloor2");
                    }
                    else
                    {
                        Text_Status.text = Language.Get("WHYJFloor1");
                    }
                }
                else if (Index == NumberNow)
                {
                    Text_Status.text = Language.Get("WHYJFloor4");
                }
                else if (Index< NumberNow)
                {
                    Text_Status.text = Language.Get("WHYJFloor1");
                }
            }
        }
        private string SetNumber(int number)
        {
            string Str = string.Empty;
            switch (number)
            {
                case 1:
                    Str = Language.Get("WHYJFloorword1");
                    return Str;
                case 2:
                    Str = Language.Get("WHYJFloorword2");
                    return Str;
                case 3:
                    Str = Language.Get("WHYJFloorword3");
                    return Str;
                case 4:
                    Str = Language.Get("WHYJFloorword4");
                    return Str;
                case 5:
                    Str = Language.Get("WHYJFloorword5");
                    return Str;
                case 6:
                    Str = Language.Get("WHYJFloorword6");
                    return Str;
                case 7:
                    Str = Language.Get("WHYJFloorword7");
                    return Str;
                case 8:
                    Str = Language.Get("WHYJFloorword8");
                    return Str;
            }
            return Str;
        }
    }
}
System/Dungeon/WHYJRuleWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2d9f284a00433bb42a8f9345af15306a
timeCreated: 1544234841
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/KnapSack/New/FBHelpPointExchageNotify.cs
@@ -6,13 +6,13 @@
{
    public class FBHelpPointExchageNotify : MonoBehaviour
    {
        [SerializeField] CommonItemBaisc itemBaisc;
        [SerializeField] Text titleText;
        [SerializeField] Button closeBtn;
        [SerializeField] Button gotoBtn;
        FBHelpPointExchageModel ExchageModel { get { return ModelCenter.Instance.GetModel<FBHelpPointExchageModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        public void Awake()
        {
@@ -24,25 +24,13 @@
        {
            int shopId = ExchageModel.currentShopId;
            this.gameObject.SetActive(shopId != 0);
            if (shopId == 0) return;
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(shopId);
            if(storeConfig != null)
            {
                ItemCellModel cellModel = new ItemCellModel(storeConfig.ItemID);
                itemBaisc.Init(cellModel);
                itemBaisc.cellBtn.RemoveAllListeners();
                itemBaisc.cellBtn.AddListener(()=>
                {
                    ItemAttrData attrData = new ItemAttrData(storeConfig.ItemID);
                    tipsModel.SetItemTipsModel(attrData);
                });
            }
        }
        public void ClickGoto()
        {
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(ExchageModel.currentShopId);
            storeModel.SetJumpModel(StoreFunc.IntegralStore, ExchageModel.currentShopId);
            switch ((StoreFunc)storeConfig.ShopType)
            {
                case StoreFunc.WeekStore:
System/MainInterfacePanel/PlayerMainDate.cs
@@ -52,6 +52,8 @@
    public static Action NetworkStateEvent;
    //--------娲皇遗迹;中的层数记录一下下
    public Dictionary<int, int> WHYJPowerDic = new Dictionary<int, int>();
    public  int ruinsTranscriptMapId;//娲皇地图ID
    public int WaHuangHighestFloor = 0;//记录娲皇层数扣除参数
    public int _layerNumber = 1;//服务端的层数
    public int LayerNumber
@@ -164,6 +166,9 @@
        ShieldedArea.Add(10030);
        string WaHuangHighestFloorStr= Config.Instance.Get<FuncConfigConfig>("WaHuangHighestFloor").Numerical1;
        WaHuangHighestFloor = int.Parse(WaHuangHighestFloorStr);
        ruinsTranscriptMapId = int.Parse(Config.Instance.Get<FuncConfigConfig>("SpRewardMapID").Numerical1);//娲皇地图ID
        WHYJPowerDic = ConfigParse.GetDic<int, int>(Config.Instance.Get<FuncConfigConfig>("WHFloorChoose").Numerical1);//娲皇战力
    }
    private void GetPassiveSkillTask()//获取任务数据
@@ -422,6 +427,61 @@
        }
        return IsBool;
    }
    DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
    private void GetWhyjLayerNumber()//获取单人的娲皇层数
    {
        DungeonRecord dungeonRecords;
        if (model.TryGetRecord(ruinsTranscriptMapId, out dungeonRecords))
        {
            int Index = -1;
            for (int i = 0; i < dungeonRecords.lineGrades.Count; i++)
            {
                if (dungeonRecords.lineGrades[i] == 5)
                {
                    Index = i;
                }
            }
            if (Index > -1)
            {
                if (Index + 1 >= 7)
                {
                    if (7 - WaHuangHighestFloor >= 0)
                        LayerNumber = 7 - WaHuangHighestFloor;
                }
                else
                {
                    if ((Index + 1) -WaHuangHighestFloor >= 0)
                    {
                        LayerNumber = (Index + 1) -WaHuangHighestFloor;
                    }
                    else
                    {
                        LayerNumber = 0;
                    }
                }
            }
            else
            {
                LayerNumber = 0;
            }
        }
    }
    public int GetWHYJNum()
    {
        GetWhyjLayerNumber();
        int Nuber = LayerNumber + 1;
        int Power = (int)PlayerDatas.Instance.baseData.FightPoint;
        int Type = 1;
        for (int i = 1; i <= Nuber; i++)
        {
            if (WHYJPowerDic.ContainsKey(i) && Power >= WHYJPowerDic[i])
            {
                Type=i;
            }
        }
        return Type;
    }
}
System/Store/ShopItemCell.cs
@@ -129,7 +129,7 @@
                return _buyNeedText;
            }
        }
        [SerializeField] public UIEffect effect;
        [SerializeField] public Transform effect;
        [SerializeField] public RedpointBehaviour redpoint;
        AchievementGuideEffect guidEffect = null;
@@ -140,8 +140,8 @@
            {
                if(guidEffect == null || !guidEffect.enabled)
                {
                    guidEffect = AchievementGuideEffectPool.Require(2);
                    guidEffect.transform.SetParentEx(this.itemCell.transform, Vector3.zero, Quaternion.identity, Vector3.one);
                    guidEffect = AchievementGuideEffectPool.Require(7);
                    guidEffect.transform.SetParentEx(effect,Vector3.zero, Quaternion.identity, Vector3.one);
                }
            }
            else
System/Store/StoreModel.cs
@@ -43,6 +43,7 @@
    bool isLogin = true;
    RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
    PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
    ItemTipsModel _itemTipsModel;
    ItemTipsModel itemTipsModel
@@ -83,6 +84,7 @@
        RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
        NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
        playerPack.RefreshItemCountAct -= UpdateFairyEquip;
        shopItemlimitDict.Clear();
        petAndMountPushlist.Clear();
        ClearPushData();
@@ -110,6 +112,7 @@
        WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
        WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
        NewBieCenter.Instance.guideBeginEvent += GuidBegin;
        playerPack.RefreshItemCountAct += UpdateFairyEquip;
        UpdateShowStore();
        SetIsMustBuyDay();
        ControllerRedPoint();
@@ -626,9 +629,13 @@
            case PlayerDataRefresh.VIPLv:
            case PlayerDataRefresh.Gold:
            case PlayerDataRefresh.GoldPaper:
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                break;
            case PlayerDataRefresh.FBHelpPoint:
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                UpdateFairyEquipRedpoint();
                break;
        }
    }
@@ -708,6 +715,7 @@
            UpdateCanBuyRedpoint();
            UpdateMustBuyRedpoint();
            UpdatePetAndMountPutAwayRedpoint();
            UpdateFairyEquipRedpoint();
        }
        if (RefreshBuyShopLimitEvent != null)
            RefreshBuyShopLimitEvent();
@@ -992,6 +1000,7 @@
        UpdateCanBuyRedpoint();
        UpdateMustBuyRedpoint();
        UpdatePetAndMountPutAwayRedpoint();
        UpdateFairyEquipRedpoint();
    }
    public bool IsNewDay(string recordKey)
@@ -1245,6 +1254,155 @@
        }
    }
    private void UpdateFairyEquip(PackType type, int index, int id)
    {
        if (type != PackType.rptEquip
            && (index != (int)RoleEquipType.retFairyCan || index != (int)RoleEquipType.retFairyCan2)) return;
        ClearAllFairyEquipRedpoint();
    }
    public void UpdateFairyEquipRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
        foreach (var key in showStoreTypeDict.Keys)
        {
            var storeDatas = showStoreTypeDict[key];
            for (int i = 0; i < storeDatas.Count; i++)
            {
                var storeData = storeDatas[i];
                var storeConfig = storeData.storeConfig;
                int type = 0;
                TryGetRedTypeByShopId(storeConfig.ID, out type);
                if (type == 5)
                {
                    string fairySaveKey = string.Empty;
                    bool isGetSave = TryGetFairySaveKey(storeConfig,out fairySaveKey);
                    int remainNum = 0;
                    if (!TryGetIsSellOut(storeConfig, out remainNum))
                    {
                        if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
                        {
                            if (isGetSave)
                            {
                                shopRedDict[storeData.shopId].state = RedPointState.Simple;
                                LocalSave.SetBool(fairySaveKey, true);
                            }
                            else
                            {
                                shopRedDict[storeData.shopId].state = RedPointState.None;
                            }
                        }
                        else
                        {
                            if(shopRedDict[storeData.shopId].state != RedPointState.None)
                            {
                                LocalSave.SetBool(fairySaveKey,false);
                                shopRedDict[storeConfig.ID].state = RedPointState.None;
                            }
                        }
                    }
                    else
                    {
                        shopRedDict[storeConfig.ID].state = RedPointState.None;
                    }
                }
            }
        }
    }
    public void ClearFairyEquipRedpoint(StoreConfig storeConfig)
    {
        int type = 0;
        TryGetRedTypeByShopId(storeConfig.ID, out type);
        if (type == 5)
        {
            if (shopRedDict[storeConfig.ID].state != RedPointState.None)
            {
                shopRedDict[storeConfig.ID].state = RedPointState.None;
                string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID, "EquipPlace:", 9);
                string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID, "EquipPlace:", 10);
                if (LocalSave.GetBool(key1))
                {
                    LocalSave.SetBool(key1, false);
                }
                else if (LocalSave.GetBool(key2))
                {
                    LocalSave.SetBool(key2, false);
                }
            }
        }
    }
    public void SwitchFuncTitleClearRedpoint(StoreFunc storeFunc)
    {
        if (storeFuncType == StoreFunc.IntegralStore && storeFunc != StoreFunc.IntegralStore)
        {
            ClearAllFairyEquipRedpoint();
        }
    }
    private void ClearAllFairyEquipRedpoint()
    {
        foreach (var key in shopRedDict.Keys)
        {
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(key);
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID);
            int type = 0;
            TryGetRedTypeByShopId(storeConfig.ID, out type);
            if (type == 5)
            {
                if (shopRedDict[key].state != RedPointState.None)
                {
                    shopRedDict[key].state = RedPointState.None;
                    string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", key, "EquipPlace:", 9);
                    string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", key, "EquipPlace:", 10);
                    if(LocalSave.GetBool(key1))
                    {
                        LocalSave.SetBool(key1, false);
                    }
                    else if(LocalSave.GetBool(key2))
                    {
                        LocalSave.SetBool(key2, false);
                    }
                }
            }
        }
    }
    public bool TryGetFairySaveKey(StoreConfig config,out string fairySaveKey)
    {
        fairySaveKey = string.Empty;
        if (config == null) return false;
        ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(config.ItemID);
        if(itemConfig.EquipPlace == (int)RoleEquipType.retFairyCan)
        {
            string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId",config.ID,"EquipPlace:",9);
            string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", config.ID, "EquipPlace:",10);
            ItemModel itemModel1 = playerPack.GetItemModelByIndex(PackType.rptEquip,9);
            ItemModel itemModel2 = playerPack.GetItemModelByIndex(PackType.rptEquip, 10);
            if(itemModel1 == null
                && (!PlayerPrefs.HasKey(key1) || LocalSave.GetBool(key1)))
            {
                fairySaveKey = key1;
                return true;
            }
            else if(itemModel2 == null
                 && (!PlayerPrefs.HasKey(key2) || LocalSave.GetBool(key2)))
            {
                fairySaveKey = key2;
                return true;
            }
        }
        return false;
    }
    public void UpdateMustBuyRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
@@ -1423,6 +1581,19 @@
        }
    }
    public void CloseRedPoint(StoreConfig storeConfig)
    {
        ClearMustBuyRedpoint(storeConfig);
        ClearPetAndMountRedpoint(storeConfig);
        ClearFairyEquipRedpoint(storeConfig);
    }
    public void CloseAllRedpoint(StoreFunc storeFunc)
    {
        ClearAllPetAndMountRedpoint(storeFunc);
        SwitchFuncTitleClearRedpoint(storeFunc);
    }
    #endregion
    #region 坐骑灵宠推送
System/Store/StoreWin.cs
@@ -73,7 +73,6 @@
        private FuncConfigConfig _tagFuncModel1;
        private FuncConfigConfig _tagFuncModel2;
        private int shopId = 0;
        #region Built-in
        protected override void BindController()
        {
@@ -147,7 +146,7 @@
        protected override void OnPreClose()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.WeekStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.WeekStore);
            m_storeModel.storeFuncType = StoreFunc.WeekStore;
            m_storeModel.RefreshBuyShopLimitEvent -= OnCreate;
            GlobalTimeEvent.Instance.secondEvent -= RefreshResetTime;
@@ -198,6 +197,7 @@
                    {
                        if (_tagStoreModellist[i].shopId == m_storeModel.jumpShopId)
                        {
                            shopId = _tagStoreModellist[i].shopId;
                            int index = i / 2 ;
                            _shopCtrl.JumpIndex(index > 2 ? index - 1 : index);
                            _shopCtrl.m_Scorller.RefreshActiveCellViews();
@@ -409,8 +409,6 @@
                        shopItemCell.LoadGuidEffectCtrl(shopInfo.ID, shopId);
                    }
                    shopItemCell.ShopCellBtn.RemoveAllListeners();
                    shopItemCell.ShopCellBtn.AddListener(()=> {
                        if(shopInfo.ID == shopId)
@@ -418,8 +416,7 @@
                            shopId = 0;
                            shopItemCell.LoadGuidEffectCtrl(shopInfo.ID, shopId);
                        }
                        m_storeModel.ClearMustBuyRedpoint(shopInfo);
                        m_storeModel.ClearPetAndMountRedpoint(shopInfo);
                        m_storeModel.CloseRedPoint(shopInfo);
                        m_storeModel.OnClickShopCell(shopInfo);
                    });
                }
@@ -434,7 +431,7 @@
        private void OnClickIntegralStore()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.IntegralStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.IntegralStore);
            m_storeModel.storeFuncType = StoreFunc.IntegralStore;
            OnCreate();
            RefreshResetTime();
@@ -443,7 +440,7 @@
        private void OnClickBindStore()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.BindStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.BindStore);
            m_storeModel.storeFuncType = StoreFunc.BindStore;
            OnCreate();
            RefreshResetTime();
@@ -452,7 +449,7 @@
        private void OnClickStrengthStore()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.GrowStrongerStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.GrowStrongerStore);
            m_storeModel.storeFuncType = StoreFunc.GrowStrongerStore;
            OnCreate();
            RefreshResetTime();
@@ -461,7 +458,7 @@
        private void OnClickCommonStore()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.CommonStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.CommonStore);
            m_storeModel.storeFuncType = StoreFunc.CommonStore;
            OnCreate();
            RefreshResetTime();
@@ -470,7 +467,7 @@
        private void OnClickWeekStore()
        {
            m_storeModel.ClearAllPetAndMountRedpoint(StoreFunc.WeekStore);
            m_storeModel.CloseAllRedpoint(StoreFunc.WeekStore);
            m_storeModel.storeFuncType = StoreFunc.WeekStore;
            OnCreate();
            RefreshResetTime();
System/Team/GroupDungeonChallengeProcessor.cs
@@ -22,15 +22,15 @@
            if (GeneralDefine.ruinsTranscriptMapId == _mapId)//zxw
            {
                bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
                if (iamCaptainer)
                {
                    var cB910 = new CB910_tagCGQueryTeamMemFuncData();
                    cB910.TeamMemFuncType = 0;
                    GameNetSystem.Instance.SendInfo(cB910);
                    main.IsSend = false;
                    StartCoroutine(Co_DelayShowFloorChooseWin(_isAutoMatch));
                }
                //bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
                //if (iamCaptainer)
                //{
                //    var cB910 = new CB910_tagCGQueryTeamMemFuncData();
                //    cB910.TeamMemFuncType = 0;
                //    GameNetSystem.Instance.SendInfo(cB910);
                //    main.IsSend = false;
                //    StartCoroutine(Co_DelayShowFloorChooseWin(_isAutoMatch));
                //}
            }
            else
            {
@@ -100,36 +100,36 @@
            }
        }
        IEnumerator Co_DelayShowFloorChooseWin(bool _isAutoMatch)
        {
            yield return WaitingForSecondConst.WaitMS700;
            if (!main.IsSend)
            {
                yield break;
            }
            if (main.LayerNumber == -1)
            {
                main.LayerNumberNow = 0;
            }
            else
            {
                main.LayerNumberNow = main.LayerNumber;
            }
        //IEnumerator Co_DelayShowFloorChooseWin(bool _isAutoMatch)
        //{
        //    yield return WaitingForSecondConst.WaitMS700;
        //    if (!main.IsSend)
        //    {
        //        yield break;
        //    }
        //    if (main.LayerNumber == -1)
        //    {
        //        main.LayerNumberNow = 0;
        //    }
        //    else
        //    {
        //        main.LayerNumberNow = main.LayerNumber;
        //    }
            if (PlayerDatas.Instance.extersion.bossState == 1)
            {
                SysNotifyMgr.Instance.ShowTip("Boss_Leave");
            }
            else
            {
                bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
                if (iamCaptainer)
                {
                    dungeonModel.RequestChallangeDungeon(GeneralDefine.ruinsTranscriptMapId, main.LayerNumberNow);
                }
            }
        //    if (PlayerDatas.Instance.extersion.bossState == 1)
        //    {
        //        SysNotifyMgr.Instance.ShowTip("Boss_Leave");
        //    }
        //    else
        //    {
        //        bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
        //        if (iamCaptainer)
        //        {
        //            dungeonModel.RequestChallangeDungeon(GeneralDefine.ruinsTranscriptMapId, main.LayerNumberNow);
        //        }
        //    }
        }
        //}
    }