| | |
| | | [SerializeField] ScrollerController m_ActivityCtrl;
|
| | | [SerializeField] Button m_BtnClose;
|
| | | [SerializeField] Image m_TitleIcon;
|
| | | [SerializeField, Header("排序")] List<int> m_SortArray;
|
| | | [SerializeField] List<CustomActivityDisplay> m_CustomActivitys;
|
| | |
|
| | | Dictionary<int, bool> m_ActivitySpreadDict = new Dictionary<int, bool>();
|
| | |
|
| | |
| | | {
|
| | | m_ActivityCtrl.OnRefreshCell += OnOpenServerActivityRefresh;
|
| | | m_ActivityCtrl.OnGetDynamicSize += OnGetDynamicSize;
|
| | | m_ActivityCtrl.lockType = EnhanceLockType.KeepVertical;
|
| | | m_BtnClose.onClick.AddListener(CloseClick);
|
| | | }
|
| | |
|
| | |
| | | TimeUtility.OnServerOpenDayRefresh += OnStepServerDayEvent;
|
| | | OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
|
| | | OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | for (int i = 0; i < m_CustomActivitys.Count; i++)
|
| | | {
|
| | | m_ActivitySpreadDict[m_SortArray[i]] = false;
|
| | | m_ActivitySpreadDict[(int)m_CustomActivitys[i].activityType] = false;
|
| | | }
|
| | | var impactDefaultType= impactRankModel.GetDefaultSelectType();
|
| | | if (impactRankModel.IsLock(impactDefaultType))
|
| | |
| | | openActivitys.Clear();
|
| | | priorityActivitys.Clear();
|
| | |
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | for (int i = 0; i < m_CustomActivitys.Count; i++)
|
| | | {
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i]))
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen((int)m_CustomActivitys[i].activityType))
|
| | | {
|
| | | openActivitys.Add(m_SortArray[i]);
|
| | | if (OpenServerActivityCenter.Instance.IsPriorityOpenOpen(m_SortArray[i]))
|
| | | openActivitys.Add((int)m_CustomActivitys[i].activityType);
|
| | | if (OpenServerActivityCenter.Instance.IsPriorityOpenOpen((int)m_CustomActivitys[i].activityType))
|
| | | {
|
| | | priorityActivitys.Add(m_SortArray[i]);
|
| | | priorityActivitys.Add((int)m_CustomActivitys[i].activityType);
|
| | |
|
| | | switch (m_SortArray[i])
|
| | | switch (m_CustomActivitys[i].activityType)
|
| | | {
|
| | | case 2:
|
| | | case OpenServerActivityCenter.OSActivityType.OSRedpack:
|
| | | envelopeModel.selectType = envelopeModel.m_RedAchieveRedpoint.state == RedPointState.Simple ? 1 : 2;
|
| | | break;
|
| | | }
|
| | |
| | | void CheckAlreadyOpen()
|
| | | {
|
| | | alreadyOpenActivitys.Clear();
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | for (int i = 0; i < m_CustomActivitys.Count; i++)
|
| | | {
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i]))
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen((int)m_CustomActivitys[i].activityType))
|
| | | {
|
| | | alreadyOpenActivitys.Add(m_SortArray[i]);
|
| | | alreadyOpenActivitys.Add((int)m_CustomActivitys[i].activityType);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | _cell.ChangeState(_cell.order == functionOrder ? TitleBtnState.Click : TitleBtnState.Normal);
|
| | | _cell.downArrow.gameObject.SetActive(false);
|
| | | _cell.upArrow.gameObject.SetActive(false);
|
| | | if(_cell.order == 0 || _cell.order == 2)
|
| | |
|
| | | var customActivity = m_CustomActivitys.Find((x) =>
|
| | | {
|
| | | return (int)x.activityType == _cell.index;
|
| | | });
|
| | |
|
| | | bool customIcon = !string.IsNullOrEmpty(customActivity.titleIcon);
|
| | | _cell.title.gameObject.SetActive(!customIcon);
|
| | | _cell.titleImage.gameObject.SetActive(customIcon);
|
| | | if (customIcon)
|
| | | {
|
| | | _cell.titleImage.SetSprite(customActivity.titleIcon);
|
| | | _cell.titleImage.SetNativeSize();
|
| | | }
|
| | |
|
| | | if (_cell.order == 0 || _cell.order == 2)
|
| | | {
|
| | | _cell.downArrow.gameObject.SetActive(m_ActivitySpreadDict[_cell.order]);
|
| | | _cell.upArrow.gameObject.SetActive(!m_ActivitySpreadDict[_cell.order]);
|
| | |
| | | private void UpdateFunctionBtns()
|
| | | {
|
| | | m_ActivityCtrl.Refresh();
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | for (int i = 0; i < m_CustomActivitys.Count; i++)
|
| | | {
|
| | | var sort = m_SortArray[i];
|
| | | var sort = (int)m_CustomActivitys[i].activityType;
|
| | | if (!alreadyOpenActivitys.Contains(sort))
|
| | | {
|
| | | continue;
|
| | |
| | | WindowCenter.Instance.CloseImmediately<VipInvestWin>();
|
| | | }
|
| | |
|
| | | private int Compare(int x, int y)
|
| | | private int Compare(int order_x, int order_y)
|
| | | {
|
| | | var index_x = m_SortArray.IndexOf(x);
|
| | | var index_y = m_SortArray.IndexOf(y);
|
| | | var index_x = m_CustomActivitys.FindIndex((x) =>
|
| | | {
|
| | | return order_x == (int)x.activityType;
|
| | | });
|
| | | var index_y = m_CustomActivitys.FindIndex((x) =>
|
| | | {
|
| | | return order_y == (int)x.activityType;
|
| | | });
|
| | | return index_x.CompareTo(index_y);
|
| | | }
|
| | |
|
| | |
| | | private void OpenServerActivityStateChange()
|
| | | {
|
| | | bool _update = false;
|
| | | for (int i = 0; i < m_SortArray.Count; i++)
|
| | | for (int i = 0; i < m_CustomActivitys.Count; i++)
|
| | | {
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen(m_SortArray[i])
|
| | | && !alreadyOpenActivitys.Contains(m_SortArray[i]))
|
| | | if (OpenServerActivityCenter.Instance.IsActivityOpen((int)m_CustomActivitys[i].activityType)
|
| | | && !alreadyOpenActivitys.Contains((int)m_CustomActivitys[i].activityType))
|
| | | {
|
| | | alreadyOpenActivitys.Add(m_SortArray[i]);
|
| | | alreadyOpenActivitys.Add((int)m_CustomActivitys[i].activityType);
|
| | | _update = true;
|
| | | }
|
| | | }
|
| | |
| | | UpdateFunctionBtns();
|
| | | }
|
| | | }
|
| | |
|
| | | [Serializable]
|
| | | public struct CustomActivityDisplay
|
| | | {
|
| | | [Header("活动类型"), EnumLabel(typeof(OpenServerActivityCenter.OSActivityType))]
|
| | | public OpenServerActivityCenter.OSActivityType activityType;
|
| | | public string titleIcon;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|