hch
14 小时以前 28759a997c93748107ac6c7fcc7cde7a299824c4
0312 修复皮肤界面多处打开 预览战斗显示问题
2个文件已修改
62 ■■■■■ 已修改文件
Main/System/Battle/PreviewBattleWin.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroSkinWin.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/PreviewBattleWin.cs
@@ -1,45 +1,6 @@

public class PreviewBattleWin : BaseBattleWin
{
    string openUI = "";
    int seeSkinIndex = 0;
    protected override void OnPreOpen()
    {
        base.OnPreOpen();
        seeSkinIndex = HeroUIManager.Instance.selectSkinIndex;
        UIManager.Instance.CloseWindow<MainWin>();
        if (UIManager.Instance.IsOpened<HeroTrainBaseWin>())
        {
            UIManager.Instance.CloseWindow<HeroTrainBaseWin>();
            openUI = "HeroTrainBaseWin";
        }
        else if (UIManager.Instance.IsOpened<HeroBestBaseWin>())
        {
            UIManager.Instance.CloseWindow<HeroBestBaseWin>();
            openUI = "HeroBestBaseWin";
        }
    }
    protected override void OnPreClose()
    {
        base.OnPreClose();
        if (!UIManager.Instance.IsOpened<MainWin>())
            UIManager.Instance.OpenWindow<MainWin>();
        HeroUIManager.Instance.selectSkinIndex = seeSkinIndex;
        //界面需设置成不上下关联
        if (openUI == "HeroTrainBaseWin")
        {
            UIManager.Instance.OpenWindow<HeroTrainBaseWin>(2);
        }
        else if (openUI == "HeroBestBaseWin")
        {
            UIManager.Instance.OpenWindow<HeroBestBaseWin>(1);
        }
        openUI = "";
    }
    protected override void OnClose()
    {
Main/System/HeroUI/HeroSkinWin.cs
@@ -39,6 +39,7 @@
    int heroID;
    int skinID;
    public HeroInfo hero;
    int tmpIndex;   //皮肤界面可以同时从图鉴和培养界面打开,所以需要一个临时变量来缓存避免报错
    protected override void InitComponent()
    {
@@ -113,6 +114,7 @@
                HeroUIManager.Instance.selectSkinIndex = 0;
            }
        }
        tmpIndex = HeroUIManager.Instance.selectSkinIndex;
        heroID = heroConfig.HeroID;
        HeroUIManager.Instance.OnSkinIndexChanged += OnSkinIndexChanged;
@@ -139,7 +141,22 @@
    public void Display()
    {
        skinID = heroConfig.SkinIDList[HeroUIManager.Instance.selectSkinIndex];
        //只对异常处理
        if (HeroUIManager.Instance.selectSkinIndex >= heroConfig.SkinIDList.Length ||
        HeroUIManager.Instance.selectSkinIndex < 0)
        {
            if (HeroUIManager.Instance.selectSkinIndex == -1)
            {
                HeroUIManager.Instance.selectSkinIndex = 0; //默认第一个 说明是另外地方清除(关闭)
            }
            tmpIndex = 0;
        }
        else
        {
            tmpIndex = HeroUIManager.Instance.selectSkinIndex;
        }
        skinID = heroConfig.SkinIDList[tmpIndex];
        bgTexture.SetTexture2D(HeroUIManager.Instance.GetBGName(skinID, heroConfig.Country));
        roleLhModel.Create(skinID, 1, motionName: "", isLh: true);
        roleXsModel.Create(skinID, 1);
@@ -224,9 +241,9 @@
            skinScroller.AddCell(ScrollerDataType.Header, i);
        }
        skinScroller.Restart();
        if (HeroUIManager.Instance.selectSkinIndex > 2)
        if (tmpIndex > 2)
        {
            skinScroller.JumpIndex(HeroUIManager.Instance.selectSkinIndex - 1);
            skinScroller.JumpIndex(tmpIndex - 1);
        }
    }