| | |
| | | }
|
| | | }
|
| | |
|
| | | OSTimeLimitGiftModel m_OSTimeLimitGiftModel;
|
| | | OSTimeLimitGiftModel timeLimitGiftModel {
|
| | | get {
|
| | | return m_OSTimeLimitGiftModel ?? (m_OSTimeLimitGiftModel = ModelCenter.Instance.GetModel<OSTimeLimitGiftModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | FlashSaleModel flashSaleModel { get { return ModelCenter.Instance.GetModel<FlashSaleModel>(); } }
|
| | |
|
| | | ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
|
| | |
|
| | | MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
|
| | |
|
| | | MultipleRealmPointModel multipleRealmPointModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
|
| | | BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
|
| | |
|
| | | List<int> openActivitys = new List<int>();
|
| | | List<int> activityReds = new List<int>();
|
| | | List<int> priorityActivitys = new List<int>();
|
| | | List<int> alreadyOpenActivitys = new List<int>();
|
| | |
|
| | | protected override void BindController()
|
| | |
| | | {
|
| | | TimeUtility.OnServerOpenDayRefresh += OnStepServerDayEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
|
| | | OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | {
|
| | | m_ActivitySpreadDict[m_SortArray[i]] = false;
|
| | |
| | |
|
| | | protected override void OnActived()
|
| | | {
|
| | | if (functionOrder == 1)
|
| | | if (alreadyOpenActivitys.Count == 0)
|
| | | {
|
| | | functionOrder = 0;
|
| | | CloseImmediately();
|
| | | return;
|
| | | }
|
| | | if (functionOrder == 0 && !WindowJumpMgr.Instance.IsJumpState)
|
| | | {
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | if (!alreadyOpenActivitys.Contains(functionOrder))
|
| | | {
|
| | | functionOrder = GetDefaultSelect();
|
| | | }
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | {
|
| | | m_ActivitySpreadDict[m_SortArray[i]] = m_SortArray[i] == functionOrder;
|
| | |
| | | {
|
| | | TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
|
| | | OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
|
| | | OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
|
| | | CloseOtherWin();
|
| | | WindowCenter.Instance.Open<MainInterfaceWin>();
|
| | | impactRankModel.gotoImpactRankType = 0;
|
| | |
| | | int GetDefaultSelect()
|
| | | {
|
| | | openActivitys.Clear();
|
| | | activityReds.Clear();
|
| | | if (OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen())
|
| | | {
|
| | | openActivitys.Add(3);
|
| | | if (timeLimitGiftModel.redpoint.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(3);
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsFlashSaleOpen())
|
| | | {
|
| | | openActivitys.Add(4);
|
| | | if (flashSaleModel.flashSaleRedpoint.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(4);
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsImpactRankOpen())
|
| | | {
|
| | | openActivitys.Add(0);
|
| | | if (impactRankModel.HasRedpoint())
|
| | | {
|
| | | activityReds.Add(0);
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
|
| | | {
|
| | | openActivitys.Add(2);
|
| | | if (envelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(2);
|
| | | envelopeModel.selectType = 1;
|
| | | }
|
| | | else if (envelopeModel.m_OpenServerGetRedpin.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(2);
|
| | | envelopeModel.selectType = 2;
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
|
| | | {
|
| | | openActivitys.Add(1);
|
| | | if (consumeRebateModel.consumeRebateRedpoint.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(1);
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsBossRebornOpen())
|
| | | {
|
| | | openActivitys.Add(9);
|
| | | if (bossRebornModel.bossRebornPoint.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(9);
|
| | | }
|
| | | }
|
| | | priorityActivitys.Clear();
|
| | |
|
| | | if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | {
|
| | | openActivitys.Add(5);
|
| | | if (multipleExpModel.multipleExpRedpoint.state == RedPointState.Simple)
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i]))
|
| | | {
|
| | | activityReds.Add(5);
|
| | | openActivitys.Add(m_SortArray[i]);
|
| | | if (OpenServerActivityCenter.Instance.IsPriorityOpenOpen(m_SortArray[i]))
|
| | | {
|
| | | priorityActivitys.Add(m_SortArray[i]);
|
| | |
|
| | | switch (m_SortArray[i])
|
| | | {
|
| | | case 2:
|
| | | envelopeModel.selectType = envelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple ? 1 : 2;
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
|
| | | if (priorityActivitys.Count > 0)
|
| | | {
|
| | | openActivitys.Add(8);
|
| | | if (multipleRealmPointModel.multipleRed.state == RedPointState.Simple)
|
| | | {
|
| | | activityReds.Add(8);
|
| | | }
|
| | | }
|
| | | if (activityReds.Count > 0)
|
| | | {
|
| | | activityReds.Sort(Compare);
|
| | | return activityReds[0];
|
| | | priorityActivitys.Sort(Compare);
|
| | | return priorityActivitys[0];
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | void CheckAlreadyOpen()
|
| | | {
|
| | | alreadyOpenActivitys.Clear();
|
| | | if (OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen())
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | {
|
| | | alreadyOpenActivitys.Add(3);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsFlashSaleOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(4);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsImpactRankOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(0);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(2);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(1);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(5);
|
| | | }
|
| | | if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(8);
|
| | | }
|
| | |
|
| | | if (OpenServerActivityCenter.Instance.IsBossRebornOpen())
|
| | | {
|
| | | alreadyOpenActivitys.Add(9);
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i]))
|
| | | {
|
| | | alreadyOpenActivitys.Add(m_SortArray[i]);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + _type);
|
| | | }
|
| | | break;
|
| | | case 1:
|
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
|
| | | continue;
|
| | | case 2:
|
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
|
| | | if (!m_ActivitySpreadDict[sort])
|
| | |
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + 1);
|
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + 2);
|
| | | break;
|
| | | case 3:
|
| | | case 4:
|
| | | case 5:
|
| | | case 8:
|
| | | case 9:
|
| | | default:
|
| | | m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
|
| | | break;
|
| | | }
|
| | |
| | | WindowCenter.Instance.Open<MultipleExpWin>(true);
|
| | | }
|
| | | break;
|
| | | case 6:
|
| | | if (windowState == WindowState.Opened)
|
| | | {
|
| | | WindowCenter.Instance.OpenWithoutAnimation<OpenServerGiftWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.Open<OpenServerGiftWin>(true);
|
| | | }
|
| | | break;
|
| | | case 7:
|
| | | if (windowState == WindowState.Opened)
|
| | | {
|
| | | WindowCenter.Instance.OpenWithoutAnimation<LimitedTimePackageWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.Open<LimitedTimePackageWin>(true);
|
| | | }
|
| | | break;
|
| | | case 8:
|
| | | if (windowState == WindowState.Opened)
|
| | | {
|
| | |
| | | WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
|
| | | WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
|
| | | WindowCenter.Instance.CloseImmediately<BossRebornWin>();
|
| | | WindowCenter.Instance.CloseImmediately<OpenServerGiftWin>();
|
| | | WindowCenter.Instance.CloseImmediately<LimitedTimePackageWin>();
|
| | | }
|
| | |
|
| | | private int Compare(int x, int y)
|
| | |
| | |
|
| | | private void OperationTimeUpdateEvent(Operation type)
|
| | | {
|
| | | if (type == Operation.MultipleExp)
|
| | | if (type == Operation.MultipleExp || type == Operation.MultipRealmPoint)
|
| | | {
|
| | | m_ActivityCtrl.m_Scorller.RefreshActiveCellViews();
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationStartEvent(Operation type, int state)
|
| | | private void OpenServerActivityStateChange()
|
| | | {
|
| | | switch (type)
|
| | | bool _update = false;
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | {
|
| | | case Operation.MultipleExp:
|
| | | if (state == 1 && !alreadyOpenActivitys.Contains(5))
|
| | | {
|
| | | alreadyOpenActivitys.Add(5);
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | break;
|
| | | case Operation.ConsumeRebate:
|
| | | if (state == 0 && !alreadyOpenActivitys.Contains(1))
|
| | | {
|
| | | alreadyOpenActivitys.Add(1);
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | break;
|
| | | case Operation.FlashSale:
|
| | | if (state == 0 && !alreadyOpenActivitys.Contains(4))
|
| | | {
|
| | | alreadyOpenActivitys.Add(4);
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | break;
|
| | | case Operation.BossReborn:
|
| | | if (state == 0 && !alreadyOpenActivitys.Contains(9))
|
| | | {
|
| | | alreadyOpenActivitys.Add(9);
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | break;
|
| | | case Operation.GiftPackage:
|
| | | break;
|
| | | case Operation.MultipRealmPoint:
|
| | | if (state == 0 && !alreadyOpenActivitys.Contains(8))
|
| | | {
|
| | | alreadyOpenActivitys.Add(8);
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void OperationAdvanceEvent(Operation type)
|
| | | {
|
| | | if (type == Operation.FlashSale)
|
| | | {
|
| | | if (!alreadyOpenActivitys.Contains(4))
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i])
|
| | | && !alreadyOpenActivitys.Contains(m_SortArray[i]))
|
| | | {
|
| | | alreadyOpenActivitys.Add(4);
|
| | | UpdateFunctionBtns();
|
| | | alreadyOpenActivitys.Add(m_SortArray[i]);
|
| | | _update = true;
|
| | | }
|
| | | }
|
| | | if (_update)
|
| | | {
|
| | | UpdateFunctionBtns();
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|