少年修仙传客户端代码仓库
client_Zxw
2018-09-19 f5fc680bde88e6cce73a3f153a52358dd9d8aa76
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
3个文件已修改
2个文件已添加
154 ■■■■ 已修改文件
System/OpenServerActivity/ImpactRankModel.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityCell.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumLabelAttribute.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumLabelAttribute.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/ImpactRankModel.cs
@@ -758,15 +758,30 @@
        public enum OSActivityType
        {
            [Header("全名冲榜")]
            ImpactRank,
            [Header("消费返利")]
            ConsumeRebate,
            [Header("开服红包")]
            OSRedpack,
            [Header("开服特惠")]
            OSSale,
            [Header("限时特惠")]
            FlashSale,
            [Header("多倍经验")]
            MultipleExp,
            [Header("超值礼包")]
            OSGift,
            [Header("限时礼包")]
            FlashGift,
            [Header("多倍修行点")]
            MultipleRealmPoint,
            BossReborn
            [Header("Boss复活")]
            BossReborn,
            [Header("仙玉投资")]
            FairyInvest,
            [Header("VIP投资")]
            VipInvest
        }
    }
System/OpenServerActivity/OpenServerActivityCell.cs
@@ -32,6 +32,8 @@
        public Image downArrow { get { return m_DownArrow; } }
        [SerializeField] Image m_UpArrow;
        public Image upArrow { get { return m_UpArrow; } }
        [SerializeField] Image m_TitleImg;
        public Image titleImage { get { return m_TitleImg; } }
        private int m_Order = 0;
        public int order { get { return m_Order; } set { m_Order = value; } }
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;
        }
    }
}
Utility/EnumLabelAttribute.cs
New file
@@ -0,0 +1,47 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
using System.Reflection;
#endif
[AttributeUsage(AttributeTargets.Field)]
public class EnumLabelAttribute : PropertyAttribute
{
    public readonly Type enumType;
    public EnumLabelAttribute(Type type)
    {
        this.enumType = type;
    }
}
#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(EnumLabelAttribute))]
public class EnumLabelPropertyDrawer : PropertyDrawer
{
    List<string> m_EnumLabels = new List<string>();
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        var customAttribute = (EnumLabelAttribute)attribute;
        if (m_EnumLabels.Count != property.enumNames.Length)
        {
            m_EnumLabels.Clear();
            var enumtype = customAttribute.enumType;
            foreach (var enumName in property.enumNames)
            {
                var enumfield = enumtype.GetField(enumName);
                var customAttributes = enumfield.GetCustomAttributes(typeof(HeaderAttribute), false);
                m_EnumLabels.Add(customAttributes.Length <= 0 ? enumName : ((HeaderAttribute)customAttributes[0]).header);
            }
        }
        EditorGUI.BeginChangeCheck();
        var value = EditorGUI.Popup(position, fieldInfo.Name, property.enumValueIndex, m_EnumLabels.ToArray());
        if (EditorGUI.EndChangeCheck())
        {
            property.enumValueIndex = value;
        }
    }
}
#endif
Utility/EnumLabelAttribute.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: ce694ab87ddaeeb4eaf384d8cc6b284b
timeCreated: 1537268726
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: