少年修仙传客户端代码仓库
client_linchunjie
2018-08-14 436584b1befe8bf5893b0a5187807ab37ec86c63
2296【前端】限时特惠按钮和界面预先开启
4个文件已修改
60 ■■■■■ 已修改文件
System/OpenServerActivity/FlashSaleModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/ImpactRankModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/OperationTimeHepler.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/FlashSaleModel.cs
@@ -70,12 +70,26 @@
            }
        }
        public bool InAdvanceOpen
        {
            get
            {
                OperationBase operationBase;
                OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase);
                return operationBase != null && operationBase.SatisfyOpenCondition() && operationBase.InAdvanceTime(TimeUtility.ServerNow);
            }
        }
        public void SendBuyFlashSale(int index, int id)
        {
            OperationBase operationBase;
            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase))
            {
                OperationFlashSale operation = operationBase as OperationFlashSale;
                if (operation.InAdvanceTime(TimeUtility.ServerNow))
                {
                    return;
                }
                if (!operation.InTime(TimeUtility.ServerNow))
                {
                    SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
System/OpenServerActivity/ImpactRankModel.cs
@@ -644,6 +644,18 @@
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
            OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
        }
        private void OperationAdvanceEvent(Operation type)
        {
            if (type == Operation.FlashSale)
            {
                if (openServerActivityStateChange != null)
                {
                    openServerActivityStateChange();
                }
            }
        }
        private void OperationEndEvent(Operation type, int state)
@@ -774,7 +786,7 @@
        public bool IsFlashSaleOpen()
        {
            return flashSaleModel.IsOpen;
            return flashSaleModel.IsOpen || flashSaleModel.InAdvanceOpen;
        }
        public bool IsConsumeRebateOpen()
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -67,6 +67,7 @@
            TimeUtility.OnServerOpenDayRefresh += OnStepServerDayEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
            OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
            OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
            for (int i = 0; i < m_SortArray.Count; i++)
            {
                m_ActivitySpreadDict[m_SortArray[i]] = false;
@@ -119,6 +120,7 @@
            TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
            OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
            OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
            CloseOtherWin();
            WindowCenter.Instance.Open<MainInterfaceWin>();
            impactRankModel.gotoImpactRankType = 0;
@@ -595,6 +597,18 @@
                    break;
            }
        }
        private void OperationAdvanceEvent(Operation type)
        {
            if (type == Operation.FlashSale)
            {
                if (!alreadyOpenActivitys.Contains(4))
                {
                    alreadyOpenActivitys.Add(4);
                    UpdateFunctionBtns();
                }
            }
        }
    }
}
System/Welfare/OperationTimeHepler.cs
@@ -648,7 +648,13 @@
        OperationDate start;
        OperationDate end;
        public int index = 0;
        public int index = -1;
        public OperationDateEnumerator(OperationDate _start,OperationDate _end)
        {
            this.start = _start;
            this.end = _end;
        }
        public object Current
        {
@@ -668,12 +674,17 @@
        public bool MoveNext()
        {
            index++;
            return index <= (start - end);
            bool isIn = index <= (start - end);
            if (!isIn)
            {
                GetEnumerator().Reset();
            }
            return isIn;
        }
        public void Reset()
        {
            index = 0;
            index = -1;
        }
    }
@@ -938,6 +949,7 @@
                        }
                        if (seconds > 0)
                        {
                            dateEnumerator.Reset();
                            break;
                        }
                    }