少年修仙传客户端代码仓库
Client_PangDeRong
2019-01-16 4c4eeb432666df3353baabe5fdacea99dbddc7b3
3335  玩家升级性能优化
4个文件已修改
123 ■■■■ 已修改文件
System/Compose/New/ComposeWinModel.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/RoleEquipWin.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWinModel.cs
@@ -31,7 +31,7 @@
    {
        get { return _itemPathModel ?? (_itemPathModel = ModelCenter.Instance.GetModel<GetItemPathModel>()); }
    }
    private bool isUpdatePlayerLv;
    public override void Init()
    {
        ParseFuncConfig();
@@ -46,15 +46,19 @@
    public void OnBeforePlayerDataInitialize()
    {
        isUpdatePlayerLv = false;
        secondType = 0;
        thirdType = 0;
        GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
        playerPack.RefreshItemCountAct -= OnItemCntRefresh;
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerLvUpdate;
    }
    public void OnPlayerLoginOk()
    {
        playerPack.RefreshItemCountAct -= OnItemCntRefresh;
        GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
        playerPack.RefreshItemCountAct += OnItemCntRefresh;
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerLvUpdate;
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerLvUpdate;
        UpdateComposeDataByLevel();
        RefreshComposeRed();
@@ -68,12 +72,22 @@
        }
    }
    private void UpdateSecond()
    {
        if(isUpdatePlayerLv)
        {
            UpdateComposeDataByLevel();
            RefreshComposeRed();
            isUpdatePlayerLv = false;
        }
    }
    private void PlayerLvUpdate(PlayerDataRefresh type)
    {
        if (type != PlayerDataRefresh.LV) return;
        UpdateComposeDataByLevel();
        RefreshComposeRed();
        isUpdatePlayerLv = true;
    }
    #region 解析本地数据
System/KnapSack/Logic/PlayerPackModels.cs
@@ -26,7 +26,7 @@
        BlastFurnaceModel FurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
        public List<int> LocalSavePlaceArray { get; private set; }
        public Dictionary<int, List<int>> ShareUseCntItemDict { get; private set;}
        private bool isUpdatePlayerLv = false;
        public override void Init()
        {
            ParseConfig();
@@ -107,6 +107,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerLv;
            LocalSave.DeleteKey(RecordKnapsackTitle);
            cacheMapId = 0;
@@ -146,9 +147,9 @@
            {
                LocalSavePlaceArray = null;
            }
            GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerLv;
            UpdatePlayerLv(PlayerDataRefresh.LV);
            isUpdatePlayerLv = true;
        }
        public override void UnInit()
@@ -699,14 +700,24 @@
            return 0;
        }
        private void UpdateSecond()
        {
            if(isUpdatePlayerLv)
            {
                for (int i = 1; i < 13; i++)
                {
                    CheckRoleEquipByPlace((RoleEquipType)i);
                }
                UpdateRoleEquipRed();
                isUpdatePlayerLv = false;
            }
        }
        private void UpdatePlayerLv(PlayerDataRefresh type)
        {
            if (type != PlayerDataRefresh.LV) return;
            for (int i = 1; i < 13; i++)
            {
                CheckRoleEquipByPlace((RoleEquipType)i);
            }
            UpdateRoleEquipRed();
            isUpdatePlayerLv = true;
        }
        public bool IsShowAddEquipByPlace(int equipPlace)
System/KnapSack/New/RoleEquipWin.cs
@@ -64,7 +64,7 @@
        {
            get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
        }
        private bool isUpdatePlayerLv;
        protected override void BindController()
        {
            _oneKeySellBtn.onClick.AddListener(OnClickOneKeySell);
@@ -78,14 +78,14 @@
        protected override void OnPreOpen()
        {
            isUpdatePlayerLv = false;
            UI3DModelExhibition.Instance.ShowPlayer(RoleShowBG, PlayerDatas.Instance.baseData.Job);
            playerPack.RefreshAttrActiveAct += ControlEffect;
            playerPack.ItemCntAddAct += PutOnEquip;
            playerPack.ItemCntReduceAct += PutOffEquip;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerLv;
            PlayerDatas.Instance.RefreshPlayerInfoEvent += OnFrenshBagInfo;
            WindowCenter.Instance.windowBeforeCloseEvent += BeforeWindowClose;
            GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
            TimeDownMgr.CoolTimeData data;
            if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.BagSort, out data))
            {
@@ -105,7 +105,6 @@
            UIEventTrigger.Get(_equipIntensifyBtn.gameObject).OnDown = OnClickEquipIntensify;
            OnFrenshBagInfo();
        }
        private void BeforeWindowClose(Window window)
        {
            if (typeof(PetMatInfoWin).Name != window.name && typeof(ItemInfoWin).Name != window.name) return;
@@ -130,9 +129,9 @@
        protected override void OnPreClose()
        {
            GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
            playerPack.ItemCntAddAct -= PutOnEquip;
            playerPack.ItemCntReduceAct -= PutOffEquip;
            PlayerDatas.Instance.RefreshPlayerInfoEvent -= OnFrenshBagInfo;
            WindowCenter.Instance.windowBeforeCloseEvent -= BeforeWindowClose;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerLv;
            UI3DModelExhibition.Instance.StopShow();
@@ -143,6 +142,18 @@
            
        }
        private void UpdateSecond()
        {
            if (isUpdatePlayerLv)
            {
                for (int i = 1; i < 13; i++)
                {
                    UpdateRoleEquip(i);
                }
                isUpdatePlayerLv = false;
            }
        }
        private void ControlEffect(int type, bool isActive)
        {
@@ -185,6 +196,7 @@
            UI3DModelExhibition.Instance.ShowPlayer(RoleShowBG, PlayerDatas.Instance.baseData.Job);
        }
        public void PutOnEquip(PackType type,int index, int Id)
        {
            //临时条件判断
@@ -202,12 +214,17 @@
        private void UpdatePlayerLv(PlayerDataRefresh type)
        {
            if (type != PlayerDataRefresh.LV) return;
            for (int i = 1; i < 13; i++)
            switch (type)
            {
                UpdateRoleEquip(i);
                case PlayerDataRefresh.LV:
                    isUpdatePlayerLv = true;
                    break;
                case PlayerDataRefresh.Gold:
                case PlayerDataRefresh.GoldPaper:
                case PlayerDataRefresh.Silver:
                case PlayerDataRefresh.ExAttr6:
                    OnFrenshBagInfo();
                    break;
            }
        }
System/Store/StoreModel.cs
@@ -53,6 +53,7 @@
            return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
        }
    }
    private bool isUpdatePlayerLv;
    public override void Init()
    {
@@ -72,6 +73,7 @@
    public void OnBeforePlayerDataInitialize()
    {
        isUpdatePlayerLv = false;
        IsMustBuyDay = false;
        isLogin = true;
        ClearJumpModel();
@@ -81,8 +83,9 @@
        WindowCenter.Instance.windowAfterCloseEvent -= windowAfterClose;
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
        RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
        RefreshTCBPlayerDataEvent -= RefreshPlayerData;
        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
        GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
        NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
        playerPack.RefreshItemCountAct -= UpdateFairyEquip;
        shopItemlimitDict.Clear();
@@ -106,8 +109,9 @@
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine += RefreshServerHour;
        FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
        RefreshTCBPlayerDataEvent += RefreshPlayerLv;
        RefreshTCBPlayerDataEvent += RefreshPlayerData;
        TimeMgr.Instance.OnHourEvent += RefreshServerHour;
        GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
        StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
        WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
        WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
@@ -615,16 +619,31 @@
        return remainSecond;
    }
    private void RefreshPlayerLv(PlayerDataRefresh type)
    private void UpdateSecond()
    {
        if(isUpdatePlayerLv)
        {
            UpdatePlayerLv();
            isUpdatePlayerLv = false;
        }
    }
    private void UpdatePlayerLv()
    {
        UpdateShowStore();
        UpdateFreeShopRedpoint();
        UpdateCanBuyRedpoint();
        UpdateMustBuyRedpoint();
        UpdatePetAndMountPutAwayRedpoint();
    }
    private void RefreshPlayerData(PlayerDataRefresh type)
    {
        switch(type)
        {
            case PlayerDataRefresh.LV:
                UpdateShowStore();
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                UpdateMustBuyRedpoint();
                UpdatePetAndMountPutAwayRedpoint();
                isUpdatePlayerLv = true;
                break;
            case PlayerDataRefresh.VIPLv:
            case PlayerDataRefresh.Gold: