0312 修复断线重连武将列表会报错的问题;防范可能会出现武将模型不出现的情况
3个文件已修改
35 ■■■■ 已修改文件
Main/System/Hero/HeroManager.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Hero/UIHeroController.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Hero/HeroManager.cs
@@ -20,7 +20,7 @@
        PackManager.Instance.ChangeItemEvent += ChangeHero;
        PackManager.Instance.DeleteItemEvent += DeleteHero;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
    }
    public override void Release()
@@ -28,7 +28,7 @@
        base.Release();
        PackManager.Instance.ChangeItemEvent -= ChangeHero;
        PackManager.Instance.DeleteItemEvent -= DeleteHero;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitialize;
    }
    void OnBeforePlayerDataInitialize()
Main/System/Hero/UIHeroController.cs
@@ -19,6 +19,22 @@
        if (skinID == _skinID)
        {
            //避免重复创建
            if (skeletonGraphic != null)
            {
                if (isLh)
                {
                    var skinConfigTmp = HeroSkinConfig.Get(skinID);
                    if (skinConfigTmp != null && skinConfigTmp.Tachie.Contains("SkeletonData"))
                    {
                        skeletonGraphic.enabled = true;
                    }
                }
                else
                {
                    skeletonGraphic.enabled = true;
                }
            }
            return;
        }
@@ -111,6 +127,7 @@
        }
        skeletonGraphic.Initialize(true);
        skeletonGraphic.enabled = true;
        spineAnimationState = skeletonGraphic.AnimationState;
        spineAnimationState.Data.DefaultMix = 0f;
        if (motionName == "")
Main/System/HeroUI/HeroUIManager.cs
@@ -37,6 +37,7 @@
    public override void Init()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeOnRelogin;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnLoginLoadOK;
        HeroManager.Instance.onHeroChangeEvent += OnHeroChangeEvent;
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
@@ -51,6 +52,7 @@
    public override void Release()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeOnRelogin;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnLoginLoadOK;
        HeroManager.Instance.onHeroChangeEvent -= OnHeroChangeEvent;
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
@@ -89,16 +91,20 @@
    public void OnBeforePlayerDataInitialize()
    {
        heroSortList.Clear();
        heroOnTeamSortList.Clear();
        awakeRebirthCnt = 0;
        waitResponse = default;
        heroCollectInfoDic.Clear();
        newHeroIDList.Clear();
        firstHeroIDBookUpdate = 0;
        isOpenHeroTip = false;
    }
    public void OnBeforePlayerDataInitializeOnRelogin()
    {
        heroSortList.Clear();
        heroOnTeamSortList.Clear();
        heroCollectInfoDic.Clear();
        newHeroIDList.Clear();
    }
    void OnLoginLoadOK()
    {