少年修仙传客户端代码仓库
client_Zxw
2018-09-19 f5fc680bde88e6cce73a3f153a52358dd9d8aa76
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -12,7 +12,7 @@
        [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>();
@@ -43,6 +43,7 @@
        {
            m_ActivityCtrl.OnRefreshCell += OnOpenServerActivityRefresh;
            m_ActivityCtrl.OnGetDynamicSize += OnGetDynamicSize;
            m_ActivityCtrl.lockType = EnhanceLockType.KeepVertical;
            m_BtnClose.onClick.AddListener(CloseClick);
        }
@@ -51,9 +52,9 @@
            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))
@@ -137,18 +138,18 @@
            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;
                        }
@@ -170,11 +171,11 @@
        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);
                }
            }
        }
@@ -234,7 +235,22 @@
            _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]);
@@ -279,9 +295,9 @@
        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;
@@ -504,10 +520,16 @@
            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);
        }
@@ -522,12 +544,12 @@
        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;
                }
            }
@@ -536,6 +558,14 @@
                UpdateFunctionBtns();
            }
        }
        [Serializable]
        public struct CustomActivityDisplay
        {
            [Header("活动类型"), EnumLabel(typeof(OpenServerActivityCenter.OSActivityType))]
            public OpenServerActivityCenter.OSActivityType activityType;
            public string titleIcon;
        }
    }
}