少年修仙传客户端代码仓库
client_Zxw
2018-09-18 b184efc783735b0787e9c8ed1f86713c27a83634
2209 【前端】限时礼包按钮和界面提前开启
3个文件已修改
144 ■■■■ 已修改文件
System/Vip/LimitedTimePackageModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/LimitedTimePackageTime.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/LimitedTimePackageWin.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/LimitedTimePackageModel.cs
@@ -143,7 +143,7 @@
    public bool IsExpired()
    {
        bool IsBool = false;
        IsBool = OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage);
        IsBool =(OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage)|| OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage));
        bool IsBuyBool = false;
        OperationBase operationBase;
        if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase))
System/Vip/LimitedTimePackageTime.cs
@@ -11,55 +11,83 @@
    public class LimitedTimePackageTime:MonoBehaviour {
        [SerializeField] Text m_LimitedTimePackageTime_text;
        [SerializeField] TimerBehaviour m_Time;
        [SerializeField] RectTransform m_ContainerAdvance;
        [SerializeField] Text m_AdvanceTime;
        private void OnEnable()
        {
            GlobalTimeEvent.Instance.secondEvent += secondEvent;
            OperationTimeHepler.Instance.dayResetEvent += DayResetEvent;
        }
        private void OnDisable()
        {
            GlobalTimeEvent.Instance.secondEvent -= secondEvent;
            OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
        }
        private void DayResetEvent(int resetType)
        {
            secondEvent();
        }
        private void secondEvent()
        {
            int time = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.GiftPackage);
            if (time <= 0)
            OperationBase operationBase;
            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase))
            {
                if (m_LimitedTimePackageTime_text.gameObject.activeSelf)
                var operation = (operationBase as GiftPackageClass);
                bool inAdvance = false;
                var seconds = 0;
                if (operation.InAdvanceTime(TimeUtility.ServerNow))
                {
                    m_LimitedTimePackageTime_text.gameObject.SetActive(false);
                }
                return;
            }
            if (time>86400)
            {
                if (m_LimitedTimePackageTime_text.gameObject.activeSelf)
                {
                    m_LimitedTimePackageTime_text.gameObject.SetActive(false);
                }
            }
            else
            {
                if (!m_LimitedTimePackageTime_text.gameObject.activeSelf)
                {
                    m_LimitedTimePackageTime_text.gameObject.SetActive(true);
                }
                if (time<3600)
                {
                    m_LimitedTimePackageTime_text.text = TimeUtility.SecondsToHMS(time);
                    m_LimitedTimePackageTime_text.color = UIHelper.GetUIColor(TextColType.Red);
                    inAdvance = true;
                    seconds = operation.GetSecondsBeforeStart(TimeUtility.ServerNow);
                }
                else
                {
                    m_LimitedTimePackageTime_text.text = TimeUtility.SecondsToHMS(time);
                    m_LimitedTimePackageTime_text.color = UIHelper.GetUIColor(TextColType.Green);
                    seconds = operation.GetResetSurplusTime();
                }
                m_ContainerAdvance.gameObject.SetActive(inAdvance);
                if (inAdvance)
                {
                    if (m_Time.gameObject.activeSelf)
                    {
                        DisplayTime(0);
                    }
                    DisplayAdvance(seconds);
                }
                else
                {
                    if (seconds * TimeSpan.TicksPerSecond >= TimeSpan.TicksPerDay || seconds <= 0)
                    {
                        if (m_Time.gameObject.activeSelf)
                        {
                            DisplayTime(0);
                        }
                    }
                    else
                    {
                        m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
                        if (!m_Time.gameObject.activeSelf)
                        {
                            DisplayTime(seconds);
                        }
                    }
                }
            }
        }
        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));
        }
        void DisplayAdvance(int seconds)
        {
            m_AdvanceTime.text = Language.Get("OperationAdvanceOpen", TimeUtility.SecondsToHMS(seconds));
        }
    }
}
System/Vip/LimitedTimePackageWin.cs
@@ -107,9 +107,19 @@
                            if (limitedTimePackageItemModel.IsExpired())
                            {
                                m_Buy_Btn.interactable = false;
                                time = 0;
                                limitedTimePackageItemModel.OpenFreePlat(str, gift.gifts[0].rmb, gift.gifts[0].OrderInfo);
                                if (OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage))
                                {
                                    SysNotifyMgr.Instance.ShowTip("LimitGilt1");
                                    return;
                                }
                                else
                                {
                                    m_Buy_Btn.interactable = false;
                                    time = 0;
                                    limitedTimePackageItemModel.OpenFreePlat(str, gift.gifts[0].rmb, gift.gifts[0].OrderInfo);
                                    return;
                                }
                            }
                            else
                            {
@@ -160,8 +170,8 @@
                        }
                    }
                }
                // m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
            }
            DisplaySurplusTime();
        }
@@ -190,18 +200,42 @@
        }
        private void secondEvent()
        {
            int time = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.GiftPackage);
            if (time <= 0)
            DisplaySurplusTime();
        }
        private void DisplaySurplusTime()
        {
            OperationBase operationBase;
            OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase);
            var seconds = 0;
            var inAdvance = false;
            if (operationBase != null)
            {
                m_Text_ActivityTimeTo.text = Language.Get("LimitGift2");
                if (operationBase.InAdvanceTime(TimeUtility.ServerNow))
                {
                    inAdvance = true;
                    seconds = operationBase.GetSecondsBeforeStart(TimeUtility.ServerNow);
                }
                else
                {
                    GiftPackageClass operation = operationBase as GiftPackageClass;
                    seconds = operation.GetResetSurplusTime();
                }
            }
            if (time > 0)
            if (seconds > 0)
            {
                string str = String.Format(Language.Get("LimitGift1"), TimeUtility.SecondsToDHMSCHS(time));
                m_Text_ActivityTimeTo.text = str;
             //  m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green);
                if (inAdvance)
                {
                    m_Text_ActivityTimeTo.text = Language.Get("OperationAdvanceOpen", TimeUtility.SecondsToDHMSCHS(seconds));
                }
                else
                {
                    m_Text_ActivityTimeTo.text = Language.Get("LimitGift1", TimeUtility.SecondsToDHMSCHS(seconds));
                }
            }
            else
            {
                m_Text_ActivityTimeTo.text = Language.Get("ActivityEnd");
            }
        }
        #endregion