少年修仙传客户端代码仓库
3335 替换boss复活倒计时机制,由使用本机时间修改为使用服务器时间,防止玩家在倒计时过程中修改本机时间导致倒计时表现错误。
12个文件已修改
54 ■■■■ 已修改文件
System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonBossBriefInfoBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarBossRebornCoolDown.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousModel.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousTimer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/FlashSaleCoolDown.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/MyTeamWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/LimitedTimePackageTime.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/TimerBehaviour.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/HUD/HeadUpName.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs
@@ -137,7 +137,7 @@
                if (refreshTime > DateTime.Now)
                {
                    m_CoolDown.Begin(refreshTime, OnBossCoolDownCompleted);
                    m_CoolDown.Begin((int)(refreshTime - TimeUtility.ServerNow).TotalSeconds, OnBossCoolDownCompleted);
                }
                else
                {
System/Dungeon/DungeonBossBriefInfoBehaviour.cs
@@ -57,7 +57,7 @@
            {
                if (!bossInfo.IsBossAlive())
                {
                    m_RebornTime.Begin(bossInfo.refreshTime);
                    m_RebornTime.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds);
                }
                else
                {
@@ -92,7 +92,7 @@
                    }
                }
                var rebornAtOnce = bossInfo.refreshTime < DateTime.Now && !isAlive;
                var rebornAtOnce = bossInfo.refreshTime < TimeUtility.ServerNow && !isAlive;
                if (rebornAtOnce)
                {
System/FindPrecious/DemonJarBossRebornCoolDown.cs
@@ -48,8 +48,8 @@
                if (!bossInfo.IsBossAlive())
                {
                    m_Timer.Begin(bossInfo.refreshTime);
                    m_Timer.timeShow.color = demonJarModel.GetSurplusTimes() > 0 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
                    m_Timer.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds);
                    m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red);
                }
            }
            else
@@ -60,7 +60,7 @@
        private void OnDungeonRecodChange(int _dataMapId)
        {
            m_Timer.timeShow.color = demonJarModel.GetSurplusTimes() > 0 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
            m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red);
        }
    }
System/FindPrecious/DemonJarWin.cs
@@ -310,7 +310,7 @@
                if (dungeonModel.TryGetCountRemainTime(DemonJarModel.DEMONJAR_MAPID, out endTime))
                {
                    m_CountRemainTime.gameObject.SetActive(true);
                    m_CountRemainTime.Begin(endTime);
                    m_CountRemainTime.Begin((int)(endTime - TimeUtility.ServerNow).TotalSeconds);
                }
                else
                {
System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
@@ -51,7 +51,7 @@
                FindPreciousModel.BossInfo bossInfo = null;
                if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo))
                {
                    return !findPreciousModel.IsBossAlive(bossId) && DateTime.Now > bossInfo.refreshTime;
                    return !findPreciousModel.IsBossAlive(bossId) && TimeUtility.ServerNow > bossInfo.refreshTime;
                }
                else
                {
@@ -142,13 +142,13 @@
                FindPreciousModel.BossInfo bossInfo;
                if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo) && !bossInfo.IsBossAlive())
                {
                    if (DateTime.Now > bossInfo.refreshTime)
                    if (TimeUtility.ServerNow > bossInfo.refreshTime)
                    {
                        m_CoolDown.gameObject.SetActive(false);
                    }
                    else
                    {
                        m_CoolDown.Begin(bossInfo.refreshTime, OnBossCoolDownCompleted);
                        m_CoolDown.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds, OnBossCoolDownCompleted);
                    }
                }
                else
System/FindPrecious/FindPreciousModel.cs
@@ -189,7 +189,7 @@
                        }
                        else
                        {
                            if ((bossInfos[bossId].refreshTime - DateTime.Now).TotalSeconds < PREPOSE_SECONDS)
                            if ((bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS)
                            {
                                AddOneBossRebornNotify(bossId);
                            }
@@ -484,7 +484,7 @@
                }
                else
                {
                    if (IsBossAlive(bossId) || (bossInfos[bossId].refreshTime - DateTime.Now).TotalSeconds < PREPOSE_SECONDS)
                    if (IsBossAlive(bossId) || (bossInfos[bossId].refreshTime - TimeUtility.ServerNow).TotalSeconds < PREPOSE_SECONDS)
                    {
                        AddOneBossRebornNotify(bossId);
                    }
@@ -526,7 +526,7 @@
                    }
                }
                refreshTime = DateTime.Now + new TimeSpan(_bossInfo.RefreshSecond * TimeSpan.TicksPerSecond);
                refreshTime = TimeUtility.ServerNow + new TimeSpan(_bossInfo.RefreshSecond * TimeSpan.TicksPerSecond);
            }
            public bool IsBossAlive()
System/FindPrecious/FindPreciousTimer.cs
@@ -51,7 +51,7 @@
                    for (int i = bossIds.Count - 1; i >= 0; i--)
                    {
                        var clock = clocks[bossIds[i]];
                        if ((clock.rebornTime - DateTime.Now).TotalSeconds < FindPreciousModel.PREPOSE_SECONDS)
                        if ((clock.rebornTime - TimeUtility.ServerNow).TotalSeconds < FindPreciousModel.PREPOSE_SECONDS)
                        {
                            clocks.Remove(bossIds[i]);
                            bossIds.RemoveAt(i);
@@ -68,7 +68,7 @@
        private bool IsValidClockSetting(DateTime _rebornTime)
        {
            return (_rebornTime - DateTime.Now).TotalSeconds >= FindPreciousModel.PREPOSE_SECONDS;
            return (_rebornTime - TimeUtility.ServerNow).TotalSeconds >= FindPreciousModel.PREPOSE_SECONDS;
        }
        public class BossRebornClock
System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -84,7 +84,7 @@
        void DisplayTime(int seconds)
        {
            m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
            m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
            m_Time.Begin(seconds);
        }
        void DisplayAdvance(int seconds)
System/Team/MyTeamWin.cs
@@ -412,7 +412,7 @@
            m_MatchState.text = model.isMatching ? Language.Get("StopMatching") : Language.Get("TeamListAutoMatching");
            if (model.isMatching)
            {
                m_MatchingCoolDown.Begin(model.matchingEndTime);
                m_MatchingCoolDown.Begin((int)(model.matchingEndTime - DateTime.Now).TotalSeconds);
            }
            else
            {
System/Vip/LimitedTimePackageTime.cs
@@ -7,9 +7,11 @@
using UnityEngine.UI;
using System;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class LimitedTimePackageTime:MonoBehaviour {
    public class LimitedTimePackageTime : MonoBehaviour
    {
        [SerializeField] TimerBehaviour m_Time;
        [SerializeField] RectTransform m_ContainerAdvance;
@@ -83,7 +85,7 @@
        void DisplayTime(int seconds)
        {
            m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
            m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
            m_Time.Begin(seconds);
        }
        void DisplayAdvance(int seconds)
        {
UI/Common/TimerBehaviour.cs
@@ -22,11 +22,11 @@
        float secondTimer = 0f;
        public void Begin(DateTime _endTime, Action _callBack = null)
        public void Begin(int seconds, Action _callBack = null)
        {
            endTime = _endTime;
            endTime = TimeUtility.ServerNow + new TimeSpan(seconds * TimeSpan.TicksPerSecond);
            onTime = _callBack;
            if (endTime > DateTime.Now)
            if (endTime > TimeUtility.ServerNow)
            {
                this.gameObject.SetActive(true);
                UpdateTimeShow();
@@ -46,7 +46,7 @@
        private void LateUpdate()
        {
            if (DateTime.Now > endTime)
            if (TimeUtility.ServerNow > endTime)
            {
                if (onTime != null)
                {
@@ -69,7 +69,7 @@
        protected virtual void UpdateTimeShow()
        {
            var lastSecond = (float)(endTime - DateTime.Now).TotalSeconds;
            var lastSecond = (float)(endTime - TimeUtility.ServerNow).TotalSeconds;
            switch (m_Pattern)
            {
UI/HUD/HeadUpName.cs
@@ -305,7 +305,7 @@
            {
                m_RebornTime.gameObject.SetActive(true);
                (m_TimeBehaviour as TimerToChsBehaviour).addtionInfo = Language.Get("BossReborn_RefreshTime");
                m_TimeBehaviour.Begin(_bossInfo.refreshTime, () =>
                m_TimeBehaviour.Begin( (int)(_bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds, () =>
                 {
                     m_NpcAppearTxt.gameObject.SetActive(true);
                 });