少年修仙传客户端代码仓库
client_linchunjie
2018-08-13 e53aeac7f58447ee01ad73a81e0ee12ee8ba96e3
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -47,6 +47,8 @@
        ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
        MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
        List<int> openActivitys = new List<int>();
        List<int> activityReds = new List<int>();
@@ -64,6 +66,7 @@
        protected override void OnPreOpen()
        {
            TimeUtility.OnServerOpenDayRefresh += OnStepServerDayEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
            for (int i = 0; i < m_SortArray.Count; i++)
            {
                m_ActivitySpreadDict[m_SortArray[i]] = false;
@@ -113,6 +116,7 @@
        protected override void OnPreClose()
        {
            TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
            CloseOtherWin();
            WindowCenter.Instance.Open<MainInterfaceWin>();
            impactRankModel.gotoImpactRankType = 0;
@@ -135,7 +139,6 @@
                    activityReds.Add(3);
                }
            }
            if (OpenServerActivityCenter.Instance.IsFlashSaleOpen())
            {
                openActivitys.Add(4);
@@ -144,7 +147,6 @@
                    activityReds.Add(4);
                }
            }
            if (OpenServerActivityCenter.Instance.IsImpactRankOpen())
            {
                openActivitys.Add(0);
@@ -153,7 +155,6 @@
                    activityReds.Add(0);
                }
            }
            if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
            {
                openActivitys.Add(2);
@@ -168,13 +169,20 @@
                    envelopeModel.selectType = 2;
                }
            }
            if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
            {
                openActivitys.Add(1);
                if (consumeRebateModel.consumeRebateRedpoint.state == RedPointState.Simple)
                {
                    activityReds.Add(1);
                }
            }
            if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
            {
                openActivitys.Add(5);
                if (multipleExpModel.multipleExpRedpoint.state == RedPointState.Simple)
                {
                    activityReds.Add(5);
                }
            }
@@ -205,7 +213,19 @@
        private void RefreshOpenActivityCell(OpenServerActivityCell _cell)
        {
            _cell.title.text = Language.Get(StringUtility.Contact("OSActivityTitle_", _cell.index));
            switch (_cell.index)
            {
                case 5:
                    OperationBase operationBase;
                    if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operationBase))
                    {
                        _cell.title.text = Language.Get("ExpActivity_Text5", (operationBase as OperationMultiExp).GetMultipleCHS());
                    }
                    break;
                default:
                    _cell.title.text = Language.Get(StringUtility.Contact("OSActivityTitle_", _cell.index));
                    break;
            }
            _cell.order = _cell.index;
            _cell.redpoint.redpointId = MainRedDot.REDPOINT_OPENSERVER * 100 + _cell.index;
            _cell.ChangeState(_cell.order == functionOrder ? TitleBtnState.Click : TitleBtnState.Normal);
@@ -308,6 +328,13 @@
                        }
                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                        break;
                    case 5:
                        if (!OpenServerActivityCenter.Instance.IsMultipleExpOpen())
                        {
                            continue;
                        }
                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                        break;
                }
            }
            m_ActivityCtrl.Restart();
@@ -387,6 +414,16 @@
                        WindowCenter.Instance.Open<FlashSaleWin>(true);
                    }
                    break;
                case 5:
                    if (windowState == WindowState.Opened)
                    {
                        WindowCenter.Instance.OpenWithoutAnimation<MultipleExpWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<MultipleExpWin>(true);
                    }
                    break;
            }
        }
@@ -413,6 +450,7 @@
            WindowCenter.Instance.CloseImmediately<OSTimeLimitGiftWin>();
            WindowCenter.Instance.CloseImmediately<FlashSaleWin>();
            WindowCenter.Instance.CloseImmediately<ConsumeRebateWin>();
            WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
        }
        private int Compare(int x, int y)
@@ -421,6 +459,14 @@
            var index_y = m_SortArray.IndexOf(y);
            return index_x.CompareTo(index_y);
        }
        private void OperationTimeUpdateEvent(Operation type)
        {
            if (type == Operation.MultipleExp)
            {
                m_ActivityCtrl.m_Scorller.RefreshActiveCellViews();
            }
        }
    }
}