少年修仙传客户端代码仓库
4930 子 【开发】【1.3】娲皇遗迹去除层数选择,进入副本直接进入(历史最高层数-2)层数 / 【前端】【1.3】娲皇遗迹去除层数选择,进入副本直接进入(历史最高层数-2)层数
1个文件已修改
65 ■■■■■ 已修改文件
System/Dungeon/NormalDungeonEntranceWin.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/NormalDungeonEntranceWin.cs
@@ -53,14 +53,17 @@
        [SerializeField] RectTransform m_FairyLandTipBehaviour;
        [SerializeField] Text m_FairyLandTip;
        [SerializeField] Text m_WhyjEnterRule;//娲皇遗迹
        [SerializeField] Text WhyjEnterFloor;//娲皇遗迹
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        #region Built-in
        private int ruinsTranscriptMapId;
        protected override void BindController()
        {
            ruinsTranscriptMapId = int.Parse(Config.Instance.Get<FuncConfigConfig>("SpRewardMapID").Numerical1);
        }
        protected override void AddListeners()
@@ -80,6 +83,27 @@
            DrawDungeonTicketInfo();
            DisplayFairyLandTip();
            m_BreifInfo.SetDungeonInfo(model.currentDungeon);
            if (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);
                }
                else
                {
                    WhyjEnterFloor.gameObject.SetActive(false);
                }
            }
            else
            {
                m_WhyjEnterRule.gameObject.SetActive(false);
            }
        }
        protected override void OnAfterOpen()
@@ -471,6 +495,45 @@
            }
        }
        private void GetWhyjLayerNumber()//获取单人的娲皇层数
        {
            DungeonRecord dungeonRecords;
            var mainModel = ModelCenter.Instance.GetModel<PlayerMainDate>();
            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 - 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;
                }
            }
        }
    }
}