少年修仙传客户端代码仓库
client_Wu Xijin
2018-08-23 90dcfed03c9616ff47d35bc8f7bad4e298986030
2843 【前端】古神禁地复活
2个文件已修改
58 ■■■■ 已修改文件
System/FindPrecious/ElderGodAreaRebornWin.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralConfig.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/ElderGodAreaRebornWin.cs
@@ -18,12 +18,11 @@
        [SerializeField] Text m_ReBornTimer;
        [SerializeField] Button m_Reborn;
        PlayerDeadModel _deadModel;
        PlayerDeadModel DeadModel
        {
            get { return _deadModel ?? (_deadModel = ModelCenter.Instance.GetModel<PlayerDeadModel>()); }
        }
        PlayerDeadModel DeadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } }
        float rebornTime = 0f;
        float secondTimer = 0f;
        bool sendReborn = false;
        #region Built-in
        protected override void BindController()
        {
@@ -36,13 +35,22 @@
        protected override void OnPreOpen()
        {
            TimeDownMgr.CoolTimeData coolDown;
            if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.DuplicatesReborn, out coolDown))
            {
                RefreshTime(Mathf.RoundToInt(coolDown.duration - coolDown.time));
            }
            secondTimer = 0f;
            sendReborn = false;
            DeadModel.RefreshDuplicatesRebornCDEvent = RefreshTime;
            try
            {
                rebornTime = Time.time + GeneralConfig.Instance.dungeonRebornClientTimes[ElderGodAreaModel.ELDERGODAREA_MAPID];
                if (rebornTime <= Time.time)
                {
                    Reborn();
                }
            }
            catch (Exception ex)
            {
                Debug.Log(ex);
                rebornTime = Time.time + 10f;
            }
        }
        protected override void OnAfterOpen()
@@ -51,6 +59,10 @@
        protected override void OnPreClose()
        {
            if (!sendReborn)
            {
                Reborn();
            }
        }
        protected override void OnAfterClose()
@@ -58,20 +70,33 @@
        }
        #endregion
        private void RefreshTime(int _time)
        protected override void LateUpdate()
        {
            if (_time > 0)
            base.LateUpdate();
            if (Time.time >= rebornTime)
            {
                m_ReBornTimer.text = StringUtility.Contact("(", _time, ")");
                if (!sendReborn)
                {
                    Reborn();
                }
            }
            else
            {
                Reborn();
                secondTimer -= Time.deltaTime;
                if (secondTimer < 0f)
                {
                    secondTimer = 1f;
                    var surplusSecond = Mathf.RoundToInt(rebornTime - Time.time);
                    m_ReBornTimer.text = StringUtility.Contact("(", surplusSecond, ")");
                }
            }
        }
        private void Reborn()
        {
            sendReborn = true;
            DeadModel.SendRebornQuest(0);
            WindowCenter.Instance.Close<ElderGodAreaRebornWin>();
        }
System/GeneralConfig/GeneralConfig.cs
@@ -126,6 +126,8 @@
    public List<int> dungeonCanUseMoneyIds { get; private set; }
    public Dictionary<int, int> dungeonRebornClientTimes { get; private set; }
    public void Init()
    {
        try
@@ -429,6 +431,7 @@
            inGameDownLoadHighestLevelPoint = GetInt("DownReward", 2);
            dungeonCanUseMoneyIds = new List<int>(GetIntArray("FBEnterTickeyAuto", 1));
            dungeonRebornClientTimes = ConfigParse.GetDic<int, int>(GetInputString("DuplicatesRebornTime", 2));
        }
        catch (Exception ex)
        {