少年修仙传客户端代码仓库
client_linchunjie
2018-09-18 a29b9dd38264a40996b1f039c3d434563488ccfb
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
1 文件已重命名
17个文件已修改
1个文件已删除
1个文件已添加
699 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/LoginSeverListConfig.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestData.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/LoginWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FeatureNoticeWin.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FeaturesType1.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FeaturesType2.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerMainDate.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TipPanel.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/PetAndMountPushWin.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/PetAndMountPushWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FirstTimeRechargeWin.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/VipInvestModel.cs 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/VipInvestWin.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/Window.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/WindowCenter.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/LoginSeverListConfig.cs
File was deleted
Core/GameEngine/Model/ConfigManager.cs
@@ -44,7 +44,7 @@
        AddAsyncTask<DirtyNameConfig>();
        AddAsyncTask<TASKINFOConfig>();
        AddAsyncTask<mapnpcConfig>();
        AddAsyncTask<LoginSeverListConfig>();
        AddAsyncTask<LanguageConfig>();
        AddAsyncTask<DienstgradConfig>();
        AddAsyncTask<PlayerPropertyConfig>();
        AddAsyncTask<RealmConfig>();
@@ -82,8 +82,6 @@
        AddAsyncTask<WingRefineAttrConfig>();
        AddAsyncTask<FamilyTechConfig>();
        AddAsyncTask<FamilyConfig>();
        AddAsyncTask<IconConfig>();
        AddAsyncTask<LanguageConfig>();
        AddAsyncTask<CreateRoleConfig>();
        AddAsyncTask<DamageNumConfig>();
        AddAsyncTask<DungeonConfig>();
System/DailyQuest/DailyQuestData.cs
@@ -357,7 +357,9 @@
    private bool ContainWeek(int week)
    {
        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
        var dayDelta = (week == 0 ? 7 : week) - openDayWeek;
        var todayWeek = (int)TimeUtility.ServerNow.DayOfWeek;
        var dayDelta = ((week == 0 ? 7 : week) - (todayWeek == 0 ? 7 : todayWeek));
        if (TimeUtility.OpenWeekCnt < 1 && dayDelta < 0)
        {
            return openTimes.ContainsKey(week);
@@ -420,7 +422,8 @@
        if (isSpecificDay)
        {
            var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
            var dayDelta = ((week == 0 ? 7 : week) - openDayWeek) + TimeUtility.OpenWeekCnt * 7;
            var todayWeek = (int)TimeUtility.ServerNow.DayOfWeek;
            var dayDelta = ((week == 0 ? 7 : week) - (todayWeek == 0 ? 7 : todayWeek));
            var dayIndex = TimeUtility.OpenDay + 1 + dayDelta;
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
            {
System/Login/LoginWin.cs
@@ -132,19 +132,19 @@
                case ServerState.Maintain:
                case ServerState.Predicted:
                    m_ServerState.SetSprite("XT_FWQ_TB4");
                    m_ServerStateDescription.text = Language.Get("ServerStatus4");
                    m_ServerStateDescription.text = Language.GetFromLocal(29);
                    break;
                case ServerState.Normal:
                    m_ServerState.SetSprite("XT_FWQ_TB2");
                    m_ServerStateDescription.text = Language.Get("ServerStatus3");
                    m_ServerStateDescription.text = Language.GetFromLocal(28);
                    break;
                case ServerState.Busy:
                    m_ServerState.SetSprite("XT_FWQ_TB3");
                    m_ServerStateDescription.text = Language.Get("ServerStatus2");
                    m_ServerStateDescription.text = Language.GetFromLocal(27);
                    break;
                case ServerState.Hot:
                    m_ServerState.SetSprite("XT_FWQ_TB1");
                    m_ServerStateDescription.text = Language.Get("ServerStatus1");
                    m_ServerStateDescription.text = Language.GetFromLocal(26);
                    break;
            }
        }
System/MainInterfacePanel/FeatureNoticeWin.cs
@@ -9,6 +9,8 @@
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
using EnhancedUI.EnhancedScroller;
namespace Snxxz.UI
{
    //功能预告面板
@@ -39,6 +41,7 @@
        [SerializeField] RawImage m_RawImage3;
        [SerializeField] RawImage m_RawImage4;
        [SerializeField] Text m_keyName;
        public int Offset = 0;//偏移
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
        #region Built-in
@@ -61,9 +64,14 @@
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            OnCreateGridLineCell(m_ScrollerController);
            ContentDisplay();
            m_ScrollerController.JumpIndex(JumpIndex());
        }
        protected override void OnActived()
        {
            m_ScrollerController.JumpIndex(JumpIndex());
            m_ScrollerController.JumpIndex(Offset, 0, EnhancedScroller.TweenType.immediate);
        }
        protected override void OnAfterOpen()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
@@ -219,7 +227,7 @@
            {
                return;
            }
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber > featureNoticeModel.FunctionForecastIndex)
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber-1 > featureNoticeModel.FunctionForecastIndex)
            {
                m_Text_ShowA.gameObject.SetActive(false);
                m_TextShowB.gameObject.SetActive(false);
@@ -268,7 +276,7 @@
            UI3DModelExhibition.Instance.StopShowWing();
            UI3DTreasureExhibition.Instance.StopShow();
            var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(ClickFuncID);
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber > featureNoticeModel.FunctionForecastIndex)
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber-1 > featureNoticeModel.FunctionForecastIndex)
            {
                m_FeaturesImage.gameObject.SetActive(true);
                m_FeaturesImage.SetSprite("YGWENHAO");
@@ -324,13 +332,13 @@
            m_ButtonGoto.gameObject.SetActive(false);
            FuncOpenLVConfig funcoPenConfig = Config.Instance.Get<FuncOpenLVConfig>(funcID);
            var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(ClickFuncID);
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber > featureNoticeModel.FunctionForecastIndex)
            if (!FuncOpen.Instance.IsFuncOpen(ClickFuncID) && functionForecastConfig.OpenNumber-1 > featureNoticeModel.FunctionForecastIndex)
            {
                var functionForecastValue = Config.Instance.GetAllValues<FunctionForecastConfig>();
                string StrNanme = string.Empty;
                foreach (var value in functionForecastValue)
                {
                    if (value.OpenNumber == functionForecastConfig.OpenNumber - 1)
                    if (value.OpenNumber == functionForecastConfig.OpenNumber -2)
                    {
                        StrNanme = value.FuncName;
                    }                   
System/MainInterfacePanel/FeaturesType1.cs
@@ -40,7 +40,7 @@
            }
            m_FunctionName.text = functionForecastConfig.FuncName;
            m_FunctionalLevel.text = functionForecastConfig.DisplayLevel.ToString()+ Language.Get("Z1041");
            if (!FuncOpen.Instance.IsFuncOpen(funcId) && functionForecastConfig.OpenNumber > featureNoticeModel.FunctionForecastIndex)
            if (!FuncOpen.Instance.IsFuncOpen(funcId) && functionForecastConfig.OpenNumber-1 > featureNoticeModel.FunctionForecastIndex)
            {
                m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
            }
System/MainInterfacePanel/FeaturesType2.cs
@@ -39,7 +39,7 @@
            }
            m_FunctionName.text = functionForecastConfig.FuncName;
            m_FunctionalLevel.text = functionForecastConfig.DisplayLevel.ToString()+Language.Get("Z1041");
            if (!FuncOpen.Instance.IsFuncOpen(funcId) && functionForecastConfig.OpenNumber > featureNoticeModel.FunctionForecastIndex)
            if (!FuncOpen.Instance.IsFuncOpen(funcId) && functionForecastConfig.OpenNumber-1 > featureNoticeModel.FunctionForecastIndex)
            {
                m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
            }
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -271,6 +271,7 @@
                if (mapId != PlayerDatas.Instance.baseData.MapID)
                {
                    CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition;
                    onMainModel.MainTopPanelShow = false;
                    CopyOfThePositionBool = false;
                    m_ContainerBossList.localPosition = CopyOfThePosition1.localPosition;
                    m_BossBriefInfos.Unfold(false);
@@ -317,6 +318,11 @@
                    if (mapId != PlayerDatas.Instance.baseData.MapID)
                    {
                        CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition;
                        onMainModel.MainTopPanelShow = false;
                        if (IsCopyOfThePanel != null)
                        {
                            IsCopyOfThePanel(false);
                        }
                        CopyOfThePositionBool = false;
                        m_ContainerBossList.localPosition = CopyOfThePosition1.localPosition;
                        m_BossBriefInfos.Unfold(false);
@@ -327,6 +333,7 @@
                    if (!IsBossBool)
                    {
                        CopyOfThePanel.localPosition = CopyOfThePosition1.localPosition;
                        onMainModel.MainTopPanelShow = true;
                        CopyOfThePositionBool = true;
                        m_ContainerBossList.localPosition = CopyOfThePosition2.localPosition;
                        m_BossBriefInfos.Unfold(false);
@@ -529,6 +536,7 @@
                if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon && !isNeutralMap)
                {
                    CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
                    onMainModel.MainTopPanelShow = true;
                    if (IsCopyOfThePanel != null)
                    {
                        IsCopyOfThePanel(true);
@@ -679,6 +687,7 @@
                    {
                        Event_Duplicates(false, CopyOfThePanelSpeed);
                    }
                    onMainModel.MainTopPanelShow = false;
                    CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
                    m_ContainerBossList.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
                    m_BossBriefInfos.Unfold(false);
@@ -759,6 +768,7 @@
                if (inDungeon || IsBossBool || isNeutralMap)
                {
                    CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
                    onMainModel.MainTopPanelShow = true;
                    if (IsCopyOfThePanel != null)
                    {
                        IsCopyOfThePanel(true);
@@ -776,6 +786,7 @@
                    if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon)
                    {
                        CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
                        onMainModel.MainTopPanelShow = true;
                        if (IsCopyOfThePanel != null)
                        {
                            IsCopyOfThePanel(true);
@@ -796,6 +807,7 @@
                if (inDungeon || IsBossBool || isNeutralMap)
                {
                    CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
                    onMainModel.MainTopPanelShow = false;
                    if (IsCopyOfThePanel != null)
                    {
                        IsCopyOfThePanel(false);
@@ -950,6 +962,7 @@
                if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2)//上层面板
                {
                    CopyOfThePanel.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
                    onMainModel.MainTopPanelShow = true;
                    m_ContainerBossList.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
                    m_BossBriefInfos.Unfold(false);
                    if (IsCopyOfThePanel != null)
System/MainInterfacePanel/PlayerMainDate.cs
@@ -128,7 +128,8 @@
    public List<int> ActivityList = new List<int>();
    public List<int> ShieldedArea = new List<int>();//需要屏蔽的地图区域
    //---------记录主界面Top面板是否在可见位置
    public bool MainTopPanelShow = true;
    public override void Init()
    {
System/MainInterfacePanel/TipPanel.cs
@@ -21,6 +21,7 @@
        LoginAdModel loginAdModel { get { return ModelCenter.Instance.GetModel<LoginAdModel>(); } }
        FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel<FirstTimeRechargeModel>(); } }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        public TipPanel()
        {
@@ -90,6 +91,10 @@
            {
                firstTimeRechargeModel.OpenFirstChargeTrialWin();
            }
            else if(!WindowCenter.Instance.CheckOpen<PetAndMountPushWin>()) //灵宠坐骑推送
            {
                storeModel.SetPushPetAndMountWinState();
            }
            if (mainModel.IsTipBool)
            {
System/Store/PetAndMountPushWin.cs
New file
@@ -0,0 +1,91 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI
{
    public class PetAndMountPushWin : Window
    {
        [SerializeField] Text titleText;
        [SerializeField] RawImage rawImag;
        [SerializeField] Button closeBtn;
        [SerializeField] RichText m_Goto;
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        protected override void BindController()
        {
            closeBtn.AddListener(ClickCloseBtn);
        }
        protected override void AddListeners()
        {
            m_Goto.OnClick += ClickGoTo;
        }
        protected override void OnPreOpen()
        {
            storeModel.pushRefreshEvent += UpdatePushInfo;
            UpdatePushInfo();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            storeModel.pushRefreshEvent -= UpdatePushInfo;
        }
        protected override void OnAfterClose()
        {
        }
        private void UpdatePushInfo()
        {
            if(storeModel.currentPushId == 0)
            {
                CloseImmediately();
            }
            else
            {
                StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(storeModel.currentPushId);
                ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID);
                rawImag.gameObject.SetActive(true);
                if(itemConfig != null)
                {
                    switch (itemConfig.Type)
                    {
                        case 26:
                            titleText.text = Language.Get("StorePetPush");
                            PetInfoConfig petInfo = tipsModel.unlockPetDict[storeConfig.ItemID];
                            var config = Config.Instance.Get<NPCConfig>(petInfo.ID);
                            UI3DModelExhibition.Instance.BeginShowNPC(petInfo.ID, config.UIModeLOffset, config.UIModelRotation,rawImag);
                            break;
                        case 41:
                            titleText.text = Language.Get("StoreMountPush");
                            HorseConfig horseConfig = tipsModel.unlockMountDict[storeConfig.ItemID];
                            UI3DModelExhibition.Instance.BeginShowHourse(horseConfig.Model,rawImag);
                            break;
                    }
                }
            }
        }
        private void ClickGoTo()
        {
            CloseImmediately();
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StoreFunc3);
        }
        private void ClickCloseBtn()
        {
            storeModel.RemovePetAndMountPush(storeModel.currentPushId);
        }
    }
}
System/Store/PetAndMountPushWin.cs.meta
File was renamed from Core/GameEngine/Model/Config/LoginSeverListConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 5fcd7d09697b9be48affffe6b1cd28fb
timeCreated: 1515213698
guid: a7995973b99ad284aa28eb7786f9116c
timeCreated: 1537183206
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/Store/StoreModel.cs
@@ -5,6 +5,7 @@
using TableConfig;
using UnityEngine;
using LitJson;
using System.Collections;
public class BuyShopItemLimit
{
@@ -50,18 +51,24 @@
        showCoinsUIDict = ConfigParse.GetDic<int, int>(mallCurrency.Numerical1);
        FuncConfigConfig mallPush = Config.Instance.Get<FuncConfigConfig>("MallPush");
        StoreRedIdlist = ConfigParse.GetMultipleStr<int>(mallPush.Numerical2);
        MainInterfaceWin.IsCopyOfThePanel += OnMoveTopPart;
    }
    public void OnBeforePlayerDataInitialize()
    {
        IsMustBuyDay = false;
        isLogin = true;
        StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish;
        FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
        WindowCenter.Instance.windowAfterCloseEvent -= windowAfterOpen;
        WindowCenter.Instance.windowAfterCloseEvent -= windowAfterClose;
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
        RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
        NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
        shopItemlimitDict.Clear();
        petAndMountPushlist.Clear();
        tagTowerModel = null;
        storeFuncType = StoreFunc.WeekStore;
        tcbRefreshDict.Clear();
@@ -77,20 +84,25 @@
    public void OnPlayerLoginOk()
    {
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine += RefreshServerHour;
        FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
        RefreshTCBPlayerDataEvent += RefreshPlayerLv;
        TimeMgr.Instance.OnHourEvent += RefreshServerHour;
        StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
        WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
        WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
        NewBieCenter.Instance.guideBeginEvent += GuidBegin;
        SetIsMustBuyDay();
        shoplist = null;
        CheckWeekStoreIsShopBuy(out shoplist);
        ControllerRedPoint();
        SetShopRedpoint();
        CheckShopRedpoint();
        UpdateFreeShopRedpoint();
        UpdateCanBuyRedpoint();
        SetJobReplaceIDDict();
        UpdateMustBuyRedpoint();
        UpdatePetAndMountPutAwayRedpoint();
        isLogin = false;
    }
@@ -137,21 +149,24 @@
        switch(type)
        {
            case PlayerDataRefresh.LV:
                CheckShopRedpoint();
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                UpdateMustBuyRedpoint();
                UpdatePetAndMountPutAwayRedpoint();
                break;
            case PlayerDataRefresh.VIPLv:
            case PlayerDataRefresh.Gold:
            case PlayerDataRefresh.GoldPaper:
            case PlayerDataRefresh.FBHelpPoint:
                CheckShopRedpoint();
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                break;
        }
    }
    public override void UnInit()
    {
        MainInterfaceWin.IsCopyOfThePanel -= OnMoveTopPart;
    }
 
    ItemTipsModel _itemTipsModel;
@@ -297,8 +312,10 @@
    
        if(!isLogin)
        {
            CheckShopRedpoint();
            UpdateFreeShopRedpoint();
            UpdateCanBuyRedpoint();
            UpdateMustBuyRedpoint();
            UpdatePetAndMountPutAwayRedpoint();
        }
        if (RefreshBuyShopLimitEvent != null)
            RefreshBuyShopLimitEvent();
@@ -684,8 +701,10 @@
            }
        }
        SetShopRedpoint();
        CheckShopRedpoint();
        UpdateFreeShopRedpoint();
        UpdateCanBuyRedpoint();
        UpdateMustBuyRedpoint();
        UpdatePetAndMountPutAwayRedpoint();
    }
    public bool CheckWeekStoreIsShopBuy(out List<StoreConfig> buylist)
@@ -835,18 +854,39 @@
        }
    }
    public void CheckShopRedpoint()
    public void UpdateFreeShopRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
        foreach(var key in shopRedDict.Keys)
        foreach (var key in shopRedDict.Keys)
        {
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(key);
            if(!mustIdlist.Contains(storeConfig.ItemID))
            if (storeConfig.MoneyNumber == 0)
            {
                if (storeConfig.MoneyNumber == 0)
                if (CheckShopIsCanBuy(storeConfig))
                {
                    if (CheckShopIsCanBuy(storeConfig))
                    shopRedDict[storeConfig.ID].state = RedPointState.Simple;
                }
                else
                {
                    shopRedDict[storeConfig.ID].state = RedPointState.None;
                }
            }
        }
    }
    public void UpdateCanBuyRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
        foreach (var key in shopRedDict.Keys)
        {
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(key);
            if (StoreRedIdlist.Contains(storeConfig.ID))
            {
                if (CheckShopIsCanBuy(storeConfig))
                {
                    if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
                    {
                        shopRedDict[storeConfig.ID].state = RedPointState.Simple;
                    }
@@ -857,17 +897,9 @@
                }
                else
                {
                    if (CheckScoreStoreIsCanBuy(storeConfig))
                    {
                        shopRedDict[storeConfig.ID].state = RedPointState.Simple;
                    }
                    else
                    {
                        shopRedDict[storeConfig.ID].state = RedPointState.None;
                    }
                    shopRedDict[storeConfig.ID].state = RedPointState.None;
                }
            }
        }
    }
@@ -976,6 +1008,229 @@
        return false;
    }
    /// <summary>
    /// 新灵宠坐骑上架红点
    /// </summary>
    public void UpdatePetAndMountPutAwayRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
        List<StoreConfig> storelist = StoreConfig.GetAllShoplist();
        for(int i = 0; i < storelist.Count; i++)
        {
            if (storelist[i].ShopType != (int)StoreFunc.GrowStrongerStore) continue;
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storelist[i].ItemID);
            string key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID,"ShopId",storelist[i].ID);
            switch(itemConfig.Type)
            {
                case 26:
                case 41:
                    if(CheckShopIsCanBuy(storelist[i]))
                    {
                        if (!PlayerPrefs.HasKey(key))
                        {
                            shopRedDict[storelist[i].ID].state = RedPointState.Simple;
                            LocalSave.SetBool(key,true);
                            SetPetAndMountPushData(storelist[i].ID);
                        }
                        else
                        {
                            if(LocalSave.GetBool(key))
                            {
                                shopRedDict[storelist[i].ID].state = RedPointState.Simple;
                            }
                            else
                            {
                                shopRedDict[storelist[i].ID].state = RedPointState.None;
                            }
                        }
                    }
                    else
                    {
                        //PlayerPrefs.DeleteKey(key);
                        shopRedDict[storelist[i].ID].state = RedPointState.None;
                    }
                    break;
            }
        }
    }
    public void ClearPetAndMountRedpoint(StoreConfig storeConfig)
    {
        ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID);
        switch (itemConfig.Type)
        {
            case 26:
            case 41:
                string key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID);
                if (shopRedDict[storeConfig.ID].state == RedPointState.Simple)
                {
                    shopRedDict[storeConfig.ID].state = RedPointState.None;
                    LocalSave.SetBool(key,false);
                }
                break;
        }
    }
    #endregion
    #region 坐骑灵宠推送
    List<int> petAndMountPushlist = new List<int>();
    public int currentPushId { get; private set; }
    public event Action pushRefreshEvent;
    private void SetPetAndMountPushData(int shopId)
    {
        if (!petAndMountPushlist.Contains(shopId))
        {
            petAndMountPushlist.Add(shopId);
        }
        if (currentPushId == 0 || (currentPushId != 0 && currentPushId != shopId))
        {
            currentPushId = shopId;
            if (pushRefreshEvent != null)
            {
                pushRefreshEvent();
            }
        }
        if(!isLogin)
        {
            SetPushPetAndMountWinState();
        }
    }
    private int cacheMapId = 0;
    private void OnStageLoadFinish()
    {
        if (PlayerDatas.Instance.baseData.MapID == cacheMapId)
        {
            return;
        }
        MapConfig curMapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
        if (curMapConfig == null || curMapConfig.MapFBType != 0)
        {
            SetPushPetAndMountWinState(true,true);
        }
    }
    private void GuidBegin()
    {
        SetPushPetAndMountWinState(true,true);
    }
    private void OnMoveTopPart(bool isMove)
    {
        SetPushPetAndMountWinState(!isMove);
    }
    private void windowAfterOpen(Window win)
    {
        if (win is FirstTimeRechargeWin)
        {
            SetPushPetAndMountWinState(true,true);
        }
    }
    private void windowAfterClose(Window win)
    {
        if(win is MainInterfaceWin)
        {
            SetPushPetAndMountWinState(true);
        }
        else if(win is RoleParticularsWin
            || win is FirstTimeRechargeWin)
        {
            SetPushPetAndMountWinState();
        }
    }
    public void SetPushPetAndMountWinState(bool isMustClose = false, bool isClearData = false)
    {
        if(isClearData)
        {
            ClearPushData();
            WindowCenter.Instance.CloseImmediately<PetAndMountPushWin>();
            return;
        }
        if(CheckIsShowPush(isMustClose))
        {
            if (!WindowCenter.Instance.CheckOpen<PetAndMountPushWin>())
            {
                WindowCenter.Instance.Open<PetAndMountPushWin>();
            }
        }
        else
        {
            WindowCenter.Instance.CloseImmediately<PetAndMountPushWin>();
        }
    }
    public bool CheckIsShowPush(bool isMustClose = false)
    {
        bool isShow = false;
        if (isMustClose)
        {
            isShow = false;
        }
        else
        {
            MapConfig curMapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
            if ((curMapConfig == null || curMapConfig.MapFBType != 0)
                || !WindowCenter.Instance.CheckOpen<MainInterfaceWin>()
                || NewBieCenter.Instance.inGuiding
                || WindowCenter.Instance.CheckOpen<FirstTimeRechargeWin>()
                || currentPushId == 0
                || !ModelCenter.Instance.GetModel<PlayerMainDate>().MainTopPanelShow)
            {
                isShow = false;
            }
            else
            {
                isShow = true;
            }
        }
        return isShow;
    }
    public void ClearPushData()
    {
        currentPushId = 0;
        petAndMountPushlist.Clear();
    }
    public void RemovePetAndMountPush(int shopId)
    {
        if(petAndMountPushlist.Contains(shopId))
        {
            petAndMountPushlist.Remove(shopId);
            currentPushId = GetPrePetAndMountPushId();
            if(pushRefreshEvent != null)
            {
                pushRefreshEvent();
            }
        }
        else
        {
            ClearPushData();
        }
    }
    private int GetPrePetAndMountPushId()
    {
        currentPushId = 0;
        for(int i = petAndMountPushlist.Count - 1; i > -1; i--)
        {
            currentPushId = petAndMountPushlist[i];
            break;
        }
        return currentPushId;
    }
    #endregion
}
System/Store/StoreWin.cs
@@ -101,6 +101,7 @@
            m_storeModel.RefreshBuyShopLimitEvent += OnCreate;
            RefreshCoins();
            RefreshResetTime();
            m_storeModel.SetPushPetAndMountWinState(true,true);
        }
        protected override void OnActived()
@@ -394,6 +395,7 @@
                            shopItemCell.LoadGuidEffectCtrl(shopInfo.ID, shopId);
                        }
                        m_storeModel.ClearMustBuyRedpoint(shopInfo);
                        m_storeModel.ClearPetAndMountRedpoint(shopInfo);
                        m_storeModel.OnClickShopCell(shopInfo);
                    });
                }
System/Vip/FirstTimeRechargeWin.cs
@@ -31,6 +31,8 @@
        [Header("旋转角度和选择转速度")]
        public Vector3 RotateVector = new Vector3(0f, 1f, 0f);
        FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel<FirstTimeRechargeModel>(); } }
        PlayerMainDate m_MainModel;
        PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        #region Built-in
        protected override void BindController()
        {
@@ -70,7 +72,7 @@
            FirstTimeRechargeModel.FirstTimeRechargeTiime += FirstTimeRechargeTiime;
            FirstTimeRechargeModel.FirstTimeRecharEffect += FirstTimeRecharEffect;
            var inDungeon = IsDungeon();
            if (LocalSave.GetBool("FirstTimeRechargeBool") && !inDungeon)
            if (LocalSave.GetBool("FirstTimeRechargeBool") && !inDungeon && onMainModel.MainTopPanelShow)
            {
                m_RewardInformationImage.SetActive(true);
            }
System/Vip/VipInvest/VipInvestModel.cs
@@ -121,19 +121,18 @@
            VipInvestRedPoint();
            VipInvestWin.VipInvestRedPointEvent -= VipInvestRedPointEvent;
            VipInvestWin.VipInvestRedPointEvent += VipInvestRedPointEvent;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            IsShowRedPointSimple();
        }
        private void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)
        private void OnFuncStateChangeEvent(int funcOpenID)
        {
            if (_tCDBPlayerRefresh == PlayerDataRefresh.LV)
            if (funcOpenID == 120)
            {
                IsShowRedPointSimple();
            }
        }
        private void VipInvestRedPointEvent()
        {
            RedPointSate();
@@ -411,23 +410,10 @@
        private List<InvestConfig> configlist;
        private const int Redpoint_key1 = 20911;
        public Redpoint redPointStre1 = new Redpoint(209, Redpoint_key1);//Vip 投资红点
        private const int Redpoint_key1_Week1 = 2091101;
        private const int Redpoint_key1_Week2 = 2091102;
        private const int Redpoint_key1_Week3 = 2091103;
        private const int Redpoint_key1_Week4 = 2091104;
        public Redpoint redPointStre1_v1 = new Redpoint(Redpoint_key1, Redpoint_key1_Week1);
        public Redpoint redPointStre1_v2 = new Redpoint(Redpoint_key1, Redpoint_key1_Week2);
        public Redpoint redPointStre1_v3 = new Redpoint(Redpoint_key1, Redpoint_key1_Week3);
        public Redpoint redPointStre1_v4 = new Redpoint(Redpoint_key1, Redpoint_key1_Week4);
        public int JumpIndex = 0;
        private void VipInvestRedPoint()//Vip 投资红点
        {
            JumpIndex = 0;
            redPointStre1_v1.state = RedPointState.None;
            redPointStre1_v2.state = RedPointState.None;
            redPointStre1_v3.state = RedPointState.None;
            redPointStre1_v4.state = RedPointState.None;
            redPointStre1.state = RedPointState.None;
            InvestInfo = GetInvestInfoByType((int)InvestType.Vip);
            cycle = GetInvestCycle(InvestInfo.curDay);
            if (InvestInfo.investGold <= 0)
@@ -445,24 +431,7 @@
                RewardRecordState recordState = GetRecordByIndex((int)InvestType.Vip, config.needDay);
                if (recordState == RewardRecordState.NoReceive)
                {
                    switch (cycle)
                    {
                        case 1:
                            redPointStre1_v1.state = RedPointState.GetReward;
                            break;
                        case 2:
                            redPointStre1_v2.state = RedPointState.GetReward;
                            break;
                        case 3:
                            redPointStre1_v3.state = RedPointState.GetReward;
                            break;
                        case 4:
                            redPointStre1_v4.state = RedPointState.GetReward;
                            break;
                        default:
                            break;
                    }
                    // redPointStre1.state = RedPointState.Simple;
                    redPointStre1.state = RedPointState.GetReward;
                    JumpIndex = i;
                    return;
                }
@@ -483,7 +452,7 @@
        }
        private void RedPointSate()//Vip投资红点前三天
        private void RedPointSate()//为投资红点
        {
            if (InvestInfo.investGold > 0)
            {
@@ -506,18 +475,15 @@
            int day = LocalSave.GetInt(strKey);
            if (day != GetDayOfYear)
            {
                if (TimeUtility.CreateDays <= DisplayDays && redPointStre1.state == RedPointState.None
                    && PlayerDatas.Instance.baseData.LV >= DisplayLevel)
                if (redPointStre1.state == RedPointState.None
                    && FuncOpen.Instance.IsFuncOpen(120))
                {
                    LocalSave.SetInt(strKey, GetDayOfYear);
                    IsRedpoint = true;
                    RedPointSate();
                }
            }
        }
    }
System/Vip/VipInvest/VipInvestWin.cs
@@ -13,13 +13,6 @@
        [SerializeField] Button investBtn;
        [SerializeField] GameObject m_Realized_BGM;
        [SerializeField] Text m_RemainingDays;//剩余天数
        //---------------------------------
        [SerializeField] Transform m_ButtonGroup;//按钮组
        [SerializeField] Button m_Button_one;
        [SerializeField] Button m_Button_Two;
        [SerializeField] Button m_Button_Three;
        [SerializeField] Button m_Button_Four;
        [SerializeField] Button m_GoToVipBoss;
        VipInvestModel _investModel;
        VipInvestModel investModel { get { return _investModel ?? (_investModel = ModelCenter.Instance.GetModel<VipInvestModel>()); } }
@@ -35,14 +28,11 @@
        {
            ctrl.OnRefreshCell += RefreshRewardCell;
            ctrl.lockType = EnhanceLockType.KeepVertical;
            investBtn.AddListener(ClickInvestBtn);
        }
        protected override void AddListeners()
        {
            m_Button_one.AddListener(OnclickButtonOne);
            m_Button_Two.AddListener(OnClickButtonTwo);
            m_Button_Three.AddListener(OnClickButtonThree);
            m_Button_Four.AddListener(OnClickButtonFour);
            investBtn.AddListener(ClickInvestBtn);
            m_GoToVipBoss.AddListener(OnClickVipBossWin);
        }
@@ -59,7 +49,7 @@
            }
            else
            {
                m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (28 - InvestInfo.curDay).ToString(), true));
                m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (7 - InvestInfo.curDay).ToString(), true));
            }
            if (InvestInfo.investGold <= 0)
@@ -73,15 +63,14 @@
                m_Realized_BGM.SetActive(true);
                investBtn.gameObject.SetActive(false);
            }
            SwithWeek(cycle);
            //configlist = investModel.GetInvestConfiglistByCycle(cycle);
            //CreateRewardCell();
            configlist = investModel.GetInvestConfiglistByCycle(cycle);
            CreateRewardCell();
            investModel.RefreshInvestAct += RefreshInvestState;
        }
        protected override void OnAfterOpen()
        {
            if (investModel.redPointStre1.state==RedPointState.Simple)
            if (investModel.redPointStre1.state == RedPointState.Simple)
            {
                investModel.IsRedpoint = false;
                if (VipInvestRedPointEvent != null)
@@ -91,7 +80,6 @@
            }
        }
        protected override void OnPreClose()
        {
            investModel.RefreshInvestAct -= RefreshInvestState;
@@ -100,8 +88,6 @@
        protected override void OnAfterClose()
        {
        }
        private void RefreshInvestState(int obj)
        {
            if (obj == 2)
@@ -125,7 +111,7 @@
                }
                else
                {
                    m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (28 - InvestInfo.curDay).ToString(), true));
                    m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (7 - InvestInfo.curDay).ToString(), true));
                }
            }
        }
@@ -148,7 +134,7 @@
                }
                ctrl.Restart();
            }
            int a_Week= investModel.GetInvestCycle(InvestInfo.curDay);
            int a_Week = investModel.GetInvestCycle(InvestInfo.curDay);
            if (a_Week == cycle)
            {
                ctrl.JumpIndex(investModel.JumpIndex);
@@ -157,7 +143,7 @@
            {
                ctrl.JumpIndex(0);
            }
        }
        private void RefreshRewardCell(ScrollerDataType type, CellView cell)
@@ -197,7 +183,6 @@
                    itemBaisc.gameObject.SetActive(false);
                }
            }
            button.RemoveAllListeners();
            RewardRecordState recordState = investModel.GetRecordByIndex((int)InvestType.Vip, config.needDay);
            switch (recordState)
@@ -263,7 +248,6 @@
            }
        }
        private void ClickReceiveBtn(InvestConfig config)
        {
            investModel.SendGetInvestRewardQuest((int)InvestType.Vip, config.needDay);
@@ -271,19 +255,17 @@
        private void ClickInvestBtn()
        {
            if (PlayerDatas.Instance.baseData.VIPLv < 4)
            if (PlayerDatas.Instance.baseData.VIPLv < 3)
            {
                SysNotifyMgr.Instance.ShowTip("VipInvestmentLimit");
                return;
            }
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("WhetherToInvest_Z"), (bool isOk) =>
            {
                if (isOk)
                {
                    int getFairyJade = (int)UIHelper.GetMoneyCnt(1);
                    if (getFairyJade >= 300)
                    if (getFairyJade >= 98)
                    {
                        investModel.SendInvestQuest((int)InvestType.Vip, 0);
                    }
@@ -294,96 +276,10 @@
                }
            });
        }
        private void CloseAllSelected()
        {
            for (int i = 0; i < m_ButtonGroup.childCount; i++)
            {
                var selected = m_ButtonGroup.GetChild(i).transform.Find("Selected").gameObject;
                if (selected.activeSelf)
                {
                    selected.SetActive(false);
                }
            }
        }
        private void OnclickButtonOne()
        {
            CloseAllSelected();
            var selected = m_Button_one.transform.Find("Selected").gameObject;
            if (!selected.activeSelf)
            {
                selected.SetActive(true);
            }
            cycle = 1;
            configlist = investModel.GetInvestConfiglistByCycle(cycle);
            CreateRewardCell();
        }
        private void OnClickButtonTwo()
        {
            CloseAllSelected();
            var selected = m_Button_Two.transform.Find("Selected").gameObject;
            if (!selected.activeSelf)
            {
                selected.SetActive(true);
            }
            cycle = 2;
            configlist = investModel.GetInvestConfiglistByCycle(cycle);
            CreateRewardCell();
        }
        private void OnClickButtonThree()
        {
            CloseAllSelected();
            var selected = m_Button_Three.transform.Find("Selected").gameObject;
            if (!selected.activeSelf)
            {
                selected.SetActive(true);
            }
            cycle = 3;
            configlist = investModel.GetInvestConfiglistByCycle(cycle);
            CreateRewardCell();
        }
        private void OnClickButtonFour()
        {
            CloseAllSelected();
            var selected = m_Button_Four.transform.Find("Selected").gameObject;
            if (!selected.activeSelf)
            {
                selected.SetActive(true);
            }
            cycle = 4;
            configlist = investModel.GetInvestConfiglistByCycle(cycle);
            CreateRewardCell();
        }
        private void OnClickVipBossWin()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FindPreciousFrameFunc3);
        }
        private void SwithWeek(int cycle_int)
        {
            switch (cycle_int)
            {
                case 1:
                    OnclickButtonOne();
                    break;
                case 2:
                    OnClickButtonTwo();
                    break;
                case 3:
                    OnClickButtonThree();
                    break;
                case 4:
                    OnClickButtonFour();
                    break;
                default:
                    break;
            }
        }
    }
}
System/WindowBase/Window.cs
@@ -473,7 +473,8 @@
                        foreach (var child in childWindows)
                        {
                            var window = WindowCenter.Instance.Get(child);
                            if (window != null && !window.executedActiveWindow)
                            if (window != null && (window.windowState == WindowState.Opening || window.windowState == WindowState.Opened)
                                && !window.executedActiveWindow)
                            {
                                window.ChildActive();
                            }
System/WindowBase/WindowCenter.cs
@@ -14,7 +14,7 @@
        List<string> closeAllIgnoreWindows = new List<string>() {
            "MessageWin", "NewBieWin", "NewItemGetWin", "AttributePromoteShowWin" ,"DungeonBeginCoolDownWin","DungeonFightWin","StatusTipWin"
            ,"ScrollTipWin","MarqueeWin","ExperienceOpenWin","TrumpetWin","BattlePrepareCoolDownWin","DungeonGradeWin","BattleHintWin",
            "TreasureDungeonMissionHintWin","FairyGrabBossHintWin","DungeonFairyFeastHintWin",
            "TreasureDungeonMissionHintWin","FairyGrabBossHintWin","DungeonFairyFeastHintWin","PetAndMountPushWin",
        };
        UIRoot m_UIRoot;
System/WindowJump/WindowJumpMgr.cs
@@ -377,6 +377,7 @@
                break;
            case JumpUIType.PetFunc1:
            case JumpUIType.PetFunc2:
            case JumpUIType.FairyGrabBoss:
                SetJumpLogic<PetWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.PetStone:
@@ -520,9 +521,6 @@
                SetJumpLogic<FindPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.LootPreciousFrameFunc1:
                SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.FairyGrabBoss:
                SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.LootPreciousFrameSpec: