少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-29 13cc3cead6484a2b227c227b84bddf1e42ed8d2e
3335 主界面修改.
2个文件已添加
6个文件已修改
1174 ■■■■ 已修改文件
System/GeneralConfig/GeneralDefine.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HighBtnRecord.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HighSettingFadeInFadeOut.cs 851 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HighSettingTip.cs 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainWinTopGrid.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainWinTopGrid.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/ImpactRankModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralDefine.cs
@@ -189,6 +189,8 @@
    public static int equipTrainMustItemId { get; private set; }
    public static int acutionItemHour { get; private set; }
    public static int mainWinTopCloseTime { get; private set; }
    public static void Init()
    {
        try
@@ -754,6 +756,7 @@
            equipTrainMustItemId = GetInt("EquipWashMustID");
            acutionItemHour = GetInt("AuctionItem");
            mainWinTopCloseTime = GetInt("AutomaticSwitch");
        }
        catch (Exception ex)
        {
System/MainInterfacePanel/HighBtnRecord.cs
@@ -12,16 +12,19 @@
        [SerializeField] int m_Index;
        [SerializeField] bool m_IsNagaaki;
        [SerializeField] bool m_Isbool;
        public int Index
        {
            get { return m_Index; }
            set { m_Index = value; }
        }
        public bool IsNagaaki
        {
            get { return m_IsNagaaki; }
            set { m_IsNagaaki = value; }
        }
        public bool IsBool
        {
            get { return m_Isbool; }
System/MainInterfacePanel/HighSettingFadeInFadeOut.cs
@@ -7,80 +7,45 @@
using UnityEngine;
using System.Text;
using Snxxz.UI;
using System.Globalization;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class SelectCaseRequest
    {
        public Transform Tran;
        public bool IsNagaaki;//是否常显
        public int Index;//下表
    }
    public class HighSettingFadeInFadeOut : MonoBehaviour
    {
        [Header("关于上层按钮组的特殊按钮")]
        public List<int> GroupTopIndexList = new List<int>();
        [Header("关于下层按钮组的特殊按钮")]
        public List<int> GroupLowIndexList = new List<int>();
        [Header("关于第三层按钮组的特殊按钮")]
        public List<int> GroupThreeIndexList = new List<int>();
        [SerializeField] Transform m_BoxContainerTranTop;//生成盒上层
        [SerializeField] Transform m_BoxContainerTranLow;//生成盒下层
        [SerializeField] Transform m_BoxContainerThree;//第三行生成盒
        [SerializeField] Button m_Switch;//切换按钮1
        [SerializeField] Image m_ArrowOpen;
        [SerializeField] Image m_ArrowClose;
        [SerializeField] Transform m_GroupIndex;
        [SerializeField] Transform m_GroupIndex_Top;
        [SerializeField] Transform m_GroupIndex_Low;
        [SerializeField] Transform m_GroupIndex_Three;
        [SerializeField] MainWinTopGrid[] m_GridGroup1;
        [SerializeField] MainWinTopGrid[] m_GridGroup2;
        Dictionary<int, SelectCaseRequest> AnimationFadeOutDicTop = new Dictionary<int, SelectCaseRequest>();
        Dictionary<int, SelectCaseRequest> AnimationFadeOutDicLow = new Dictionary<int, SelectCaseRequest>();
        Dictionary<int, SelectCaseRequest> AnimationFadeOutDicThree = new Dictionary<int, SelectCaseRequest>();
        State state = State.Closed;
        List<SelectCaseRequest> SelectCaseRequestListTop = new List<SelectCaseRequest>();
        List<SelectCaseRequest> SelectCaseRequestListLow = new List<SelectCaseRequest>();
        List<SelectCaseRequest> SelectCaseRequestListThree = new List<SelectCaseRequest>();
        List<float> LatencyTimeList = new List<float>();//关于延迟时间
        float closeTimer = 0f;
        TreasureFindHostModel hostModel { get { return ModelCenter.Instance.GetModel<TreasureFindHostModel>(); } }
        OSGiftModel osGiftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
        LimitedTimePackageItemClassModel limitedTimePackageItemModel { get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); } }
        ImpactRankModel impactRankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
        CrossServerOneVsOneRewardModel m_CrossServerRewardModel;
        CrossServerOneVsOneRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerOneVsOneRewardModel>()); } }
        OpenServiceAchievementModel OpenServerModel { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
        SpringFestivalModel springFestival { get { return ModelCenter.Instance.GetModel<SpringFestivalModel>(); } }
        void Start()
        {
            m_Switch.SetListener(() => { Switch(state == State.Closed); });
            SwitchImmedidately(false);
        }
        public void Init()
        {
            if (LatencyTimeList.Count <= 0)
            {
                LatencyTimeList.Clear();
                string str = FuncConfigConfig.Get("MaininterfaceAniTime").Numerical1;
                string[] StrList = ConfigParse.GetMultipleStr(str);//解析出数组
                for (int j = 0; j < StrList.Length; j++)
                {
                    float number;
                    if (float.TryParse(StrList[j], NumberStyles.Float, CultureInfo.InvariantCulture, out number))
                    {
                        LatencyTimeList.Add(number);
                    }
                }
            }
            m_GroupIndex.gameObject.SetActive(false);
            Classify();
            RefreshGridsActiveState();
            TimeUtility.OnServerOpenDayRefresh += OnStepServerDay;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
            hostModel.TreasureFindHostCompleteAct += TreasureFindHostCompleteAct;
            RedpointCenter.Instance.redpointValueChangeEvent += UpdateRedpoint;
            OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
            OperationTimeHepler.Instance.operationStartEvent += operationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent += operationEndEvent;
            OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
            limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem;
            impactRankModel.inImpactRankUpdate += InImpactRankUpdate;
            OpenServerModel.IsOpenEvent += IsOpenEvent;
@@ -88,16 +53,15 @@
            OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
        }
        public void Unit()
        public void UnInit()
        {
            StopIEnumerator();
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
            hostModel.TreasureFindHostCompleteAct -= TreasureFindHostCompleteAct;
            TimeUtility.OnServerOpenDayRefresh -= OnStepServerDay;
            OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
            RedpointCenter.Instance.redpointValueChangeEvent -= UpdateRedpoint;
            OperationTimeHepler.Instance.operationStartEvent -= operationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent -= operationEndEvent;
            OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
            limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem;
            impactRankModel.inImpactRankUpdate -= InImpactRankUpdate;
            OpenServerModel.IsOpenEvent -= IsOpenEvent;
@@ -105,683 +69,218 @@
            OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
        }
        void Switch(bool active)
        {
            var index = 0;
            foreach (var grid in m_GridGroup1)
            {
                if (!grid.alwayShow)
                {
                    grid.Switch(active, 0);
                }
                if (grid.gameObject.activeInHierarchy)
                {
                    index++;
                }
            }
            index = 0;
            foreach (var grid in m_GridGroup2)
            {
                if (!grid.alwayShow)
                {
                    grid.Switch(active, (index / 7) + 1);
                }
                if (grid.gameObject.activeInHierarchy)
                {
                    index++;
                }
            }
            state = active ? State.Opened : State.Closed;
            DisplayArrow(state);
            if (state == State.Opened)
            {
                closeTimer = GeneralDefine.mainWinTopCloseTime;
            }
        }
        public void SwitchImmedidately(bool active)
        {
            foreach (var grid in m_GridGroup1)
            {
                if (!grid.alwayShow)
                {
                    grid.SwitchImmediately(active, 0);
                }
            }
            var index = 0;
            foreach (var grid in m_GridGroup2)
            {
                if (!grid.alwayShow)
                {
                    grid.SwitchImmediately(active, (index / 7) + 1);
                }
                if (grid.gameObject.activeInHierarchy)
                {
                    index++;
                }
            }
            state = active ? State.Opened : State.Closed;
            DisplayArrow(state);
            if (state == State.Opened)
            {
                closeTimer = GeneralDefine.mainWinTopCloseTime;
            }
        }
        private void OperationAdvanceEvent(Operation obj)
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void IsOpenEvent()
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void InImpactRankUpdate()
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void UpdateLimitedTimePackageItem()
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void operationEndEvent(Operation arg1, int arg2)
        private void OperationEndEvent(Operation arg1, int arg2)
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void operationStartEvent(Operation arg1, int arg2)
        private void OperationStartEvent(Operation arg1, int arg2)
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void UpdateRedpoint(int redPointID)
        {
            if (redPointID == 201 || redPointID == 210)
            {
                Classify();
                RefreshGridsActiveState();
            }
        }
        private void OpenServerActivityStateChange()
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void OnStepServerDay()//开服活动
        {
            var _impactRankDays = ModelCenter.Instance.GetModel<ImpactRankModel>().openServerActivityDays;
            if (TimeUtility.OpenDay >= _impactRankDays)
            var days = ModelCenter.Instance.GetModel<ImpactRankModel>().openServerActivityDays;
            if (TimeUtility.OpenDay >= days)
            {
                Classify();
                RefreshGridsActiveState();
            }
        }
        private void TreasureFindHostCompleteAct()//仙宝寻主
        {
            Classify();
        }
        private void OnOSGiftStateChange()
        {
            Classify();
        }
        public void FadeOut()//淡出
        {
            if (this.gameObject.activeInHierarchy)
            {
                StartCoroutine("FadeOutTop");
                StartCoroutine("FadeOutLow");
                StartCoroutine("FadeOutThree");
            }
        }
        public void FadeIn()//淡入
        {
            if (this.gameObject.activeInHierarchy)
            {
                StartCoroutine("FadeInTop");
                StartCoroutine("FadeInLow");
                StartCoroutine("FadeInThree");
            }
        }
        private void StopIEnumerator()
        {
            StopCoroutine("FadeOutTop");
            StopCoroutine("FadeOutLow");
            StopCoroutine("FadeInTop");
            StopCoroutine("FadeInLow");
            StopCoroutine("FadeOutThree");
            StopCoroutine("FadeInThree");
        }
        IEnumerator FadeOutTop()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)
            {
                if (i < SelectCaseRequestListTop.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranTop.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListTop[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeOut();
                }
            }
        }
        IEnumerator FadeOutLow()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)
            {
                if (i < SelectCaseRequestListLow.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranLow.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListLow[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeOut();
                }
            }
            RefreshGridsActiveState();
        }
        IEnumerator FadeOutThree()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)
            {
                if (i < SelectCaseRequestListThree.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerThree.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListThree[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeOut();
                }
            }
        }
        IEnumerator FadeInTop()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)
            {
                if (i < SelectCaseRequestListTop.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranTop.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListTop[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeIn();
                }
            }
        }
        IEnumerator FadeInLow()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)
            {
                if (i < SelectCaseRequestListLow.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranLow.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListLow[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeIn();
                }
            }
        }
        IEnumerator FadeInThree()
        {
            int type = 0;
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)
            {
                if (i < SelectCaseRequestListThree.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerThree.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!SelectCaseRequestListThree[i].IsNagaaki)
                    {
                        yield return new WaitForSeconds(LatencyTimeList[type]);
                        type += 1;
                    }
                    topAnimationPlay.FadeIn();
                }
            }
        }
        public void PositionNow()//立即出现
        {
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)//1
            {
                TopAnimationPlay topAnimationPlay = m_BoxContainerTranTop.GetChild(i).GetComponent<TopAnimationPlay>();
                topAnimationPlay.PositionNow();
            }
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)//2
            {
                TopAnimationPlay topAnimationPlay = m_BoxContainerTranLow.GetChild(i).GetComponent<TopAnimationPlay>();
                topAnimationPlay.PositionNow();
            }
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)//3
            {
                TopAnimationPlay topAnimationPlay = m_BoxContainerThree.GetChild(i).GetComponent<TopAnimationPlay>();
                topAnimationPlay.PositionNow();
            }
        }
        public void PositionDel()//立即消失
        {
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)//1
            {
                if (i < SelectCaseRequestListTop.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranTop.GetChild(i).GetComponent<TopAnimationPlay>();
                    topAnimationPlay.ImmediatelyDisappear();
                }
            }
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)//2
            {
                if (i < SelectCaseRequestListLow.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranLow.GetChild(i).GetComponent<TopAnimationPlay>();
                    topAnimationPlay.ImmediatelyDisappear();
                }
            }
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)//3
            {
                if (i < SelectCaseRequestListThree.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerThree.GetChild(i).GetComponent<TopAnimationPlay>();
                    topAnimationPlay.ImmediatelyDisappear();
                }
            }
        }
        public bool GetIsFadeIn()//判断是否淡入
        {
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)
            {
                if (i < SelectCaseRequestListTop.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranTop.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!topAnimationPlay.IsplayAnimator)
                    {
                        continue;
                    }
                    if (topAnimationPlay.CanvasGroup.alpha > 0.3)
                    {
                        return true;
                    }
                }
            }
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)
            {
                if (i < SelectCaseRequestListLow.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerTranLow.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!topAnimationPlay.IsplayAnimator)
                    {
                        continue;
                    }
                    if (topAnimationPlay.CanvasGroup.alpha > 0.3)
                    {
                        return true;
                    }
                }
            }
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)
            {
                if (i < SelectCaseRequestListThree.Count)
                {
                    TopAnimationPlay topAnimationPlay = m_BoxContainerThree.GetChild(i).GetComponent<TopAnimationPlay>();
                    if (!topAnimationPlay.IsplayAnimator)
                    {
                        continue;
                    }
                    if (topAnimationPlay.CanvasGroup.alpha > 0.3)
                    {
                        return true;
                    }
                }
            }
            return false;
        }
        private void Classify()
        {
            PositionNow();
            PositionReduction();
            SetGroupTop();
            SetGroupLow();
            SetfatherNodeTop();
            SetfatherNodeLow();
            SetfatherNodeThree();
        }
        private void SetGroupTop()//上层分组
        {
            AnimationFadeOutDicTop.Clear();
            for (int i = 0; i < m_GroupIndex_Top.childCount; i++)
            {
                HighBtnRecord highBtnRecord = m_GroupIndex_Top.GetChild(i).GetComponent<HighBtnRecord>();
                if (m_GroupIndex_Top.GetChild(i).GetComponent<UIFuncOpen>() != null)
                {
                    if (!FuncOpen.Instance.IsFuncOpen(m_GroupIndex_Top.GetChild(i).GetComponent<UIFuncOpen>().id))
                    {
                        if (highBtnRecord.IsBool && !AnimationFadeOutDicTop.ContainsKey(highBtnRecord.Index))
                        {
                            SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                            selectCaseRequest.Tran = m_GroupIndex_Top.GetChild(i);
                            selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                            selectCaseRequest.Index = highBtnRecord.Index;
                            AnimationFadeOutDicTop.Add(highBtnRecord.Index, selectCaseRequest);
                        }
                    }
                    else
                    {
                        if (!AnimationFadeOutDicTop.ContainsKey(highBtnRecord.Index))
                        {
                            SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                            selectCaseRequest.Tran = m_GroupIndex_Top.GetChild(i);
                            selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                            selectCaseRequest.Index = highBtnRecord.Index;
                            AnimationFadeOutDicTop.Add(highBtnRecord.Index, selectCaseRequest);
                        }
                    }
                }
                else
                {
                    if (GroupTopIndexList.Contains(highBtnRecord.Index))
                    {
                        int IndexOf = GroupTopIndexList.IndexOf(highBtnRecord.Index);
                        if (IndexOf == 0)
                        {
                            if (crossServerRewardModel.IsShowCrossServerOneVsOne())//跨服
                            {
                                SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                                selectCaseRequest.Tran = m_GroupIndex_Top.GetChild(i);
                                selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                                selectCaseRequest.Index = highBtnRecord.Index;
                                AnimationFadeOutDicTop.Add(highBtnRecord.Index, selectCaseRequest);
                            }
                        }
                        //    if (ModelCenter.Instance.GetModel<OSGiftModel>().activate)//超值礼包
                        //{
                        //    if (!AnimationFadeOutDicTop.ContainsKey(highBtnRecord.Index))
                        //    {
                        //        SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                        //        selectCaseRequest.Tran = m_GroupIndex_Top.GetChild(i);
                        //        selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                        //        AnimationFadeOutDicTop.Add(highBtnRecord.Index, selectCaseRequest);
                        //    }
                        //}
                    }
                }
            }
        }
        private void SetGroupLow()//下层分组
        {
            AnimationFadeOutDicLow.Clear();
            AnimationFadeOutDicThree.Clear();
            for (int i = 0; i < m_GroupIndex_Low.childCount; i++)
            {
                HighBtnRecord highBtnRecord = m_GroupIndex_Low.GetChild(i).GetComponent<HighBtnRecord>();
                IsPlayerUIeffect isPlayerUIeffect = m_GroupIndex_Low.GetChild(i).GetComponent<IsPlayerUIeffect>();
                if (m_GroupIndex_Low.GetChild(i).GetComponent<UIFuncOpen>() != null)//有功能开启ID
                {
                    int openFucID = m_GroupIndex_Low.GetChild(i).GetComponent<UIFuncOpen>().id;
                    if (!FuncOpen.Instance.IsFuncOpen(openFucID))
                    {
                        if (highBtnRecord.IsBool && !AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index))
                        {
                            if (isPlayerUIeffect.RedPointId == 201 || isPlayerUIeffect.RedPointId == 210)
                            {
                                if (RedpointCenter.Instance.GetRedpointState(isPlayerUIeffect.RedPointId) == RedPointState.GetReward)
                                {
                                    m_GroupIndex_Low.GetChild(i).GetComponent<HighBtnRecord>().IsNagaaki = true;
                                    highBtnRecord.IsNagaaki = true;
                                }
                                else
                                {
                                    m_GroupIndex_Low.GetChild(i).GetComponent<HighBtnRecord>().IsNagaaki = false;
                                    highBtnRecord.IsNagaaki = false;
                                }
                            }
                            SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                        }
                    }
                    else
                    {
                        int OpenFuncID = m_GroupIndex_Low.GetChild(i).GetComponent<UIFuncOpen>().id;
                        if (OpenFuncID == 124 && FuncOpen.Instance.IsFuncOpen(124))//仙宝寻主
                        {
                            if (hostModel.CheckTreasureFindHostFinish())//仙宝寻主关闭
                            {
                                continue;
                            }
                        }
                        if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index))
                        {
                            if (isPlayerUIeffect.RedPointId == 201 /*|| isPlayerUIeffect.RedPointId == 210*/)//201(福利),210(仙宝寻主)
                            {
                                if (RedpointCenter.Instance.GetRedpointState(isPlayerUIeffect.RedPointId) == RedPointState.GetReward)
                                {
                                    m_GroupIndex_Low.GetChild(i).GetComponent<HighBtnRecord>().IsNagaaki = true;
                                    highBtnRecord.IsNagaaki = true;
                                }
                                else
                                {
                                    m_GroupIndex_Low.GetChild(i).GetComponent<HighBtnRecord>().IsNagaaki = false;
                                    highBtnRecord.IsNagaaki = false;
                                }
                            }
                            SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                        }
                    }
                }
                else
                {
                    if (GroupLowIndexList.Contains(highBtnRecord.Index))
                    {
                        int IndexOf = GroupLowIndexList.IndexOf(highBtnRecord.Index);
                        switch (IndexOf)
                        {
                            case 0:
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony))//精灵盛典
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 1:
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.NewYearFairyCeremony))//精灵盛典
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 2:
                                var _funcOrder = 0;
                                if (OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _funcOrder))//精彩活动
                                {
                                    if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index))
                                    {
                                        SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                    }
                                }
                                break;
                            case 3:
                                bool Isopen = impactRankModel.IsInImpactRank;
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen)//全民冲榜
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 4:
                                bool Is_open = OpenServerModel.IsOpenFeatures();
                                bool _isOpen = springFestival.IsOpenFeatures();
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && (Is_open || _isOpen))//7天寻礼
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 5:
                                bool Isopen5 = OpenServerActivityCenter.Instance.IsActivityOpen(14);
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen5)//限时抢购
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 6:
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && limitedTimePackageItemModel.IsExpired())//限时礼包
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 7:
                                bool Isopen7 = OpenServerActivityCenter.Instance.IsActivityOpen(4);
                                if (!AnimationFadeOutDicLow.ContainsKey(highBtnRecord.Index) && Isopen7)//限时特惠
                                {
                                    SetTranInBox(m_GroupIndex_Low.GetChild(i), highBtnRecord);
                                }
                                break;
                            case 8:
                                break;
                            default:
                                break;
                        }
                    }
                }
            }
        }
        private void SetTranInBox(Transform tran, HighBtnRecord highBtnRecord)//下层按钮设置层数
        {
            if (AnimationFadeOutDicLow.Count < 6)//------第二层
            {
                SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                selectCaseRequest.Tran = tran;
                selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                selectCaseRequest.Index = highBtnRecord.Index;
                AnimationFadeOutDicLow.Add(highBtnRecord.Index, selectCaseRequest);
            }
            else//------第三层
            {
                SelectCaseRequest selectCaseRequest = new SelectCaseRequest();
                selectCaseRequest.Tran = tran;
                selectCaseRequest.IsNagaaki = highBtnRecord.IsNagaaki;
                selectCaseRequest.Index = highBtnRecord.Index;
                AnimationFadeOutDicThree.Add(highBtnRecord.Index, selectCaseRequest);
            }
        }
        private void PositionReduction()//还原位置(把盒子中的位置全部重新拉出来)
        {
            if (AnimationFadeOutDicTop.Count > 0)//上层
            {
                foreach (var key in AnimationFadeOutDicTop.Keys)
                {
                    AnimationFadeOutDicTop[key].Tran.SetParent(m_GroupIndex_Top);
                    AnimationFadeOutDicTop[key].Tran.SetSiblingIndex(key);
                }
            }
            if (AnimationFadeOutDicLow.Count > 0)//中间
            {
                foreach (var key in AnimationFadeOutDicLow.Keys)
                {
                    AnimationFadeOutDicLow[(AnimationFadeOutDicLow[key].Index)].Tran.SetParent(m_GroupIndex_Low);
                    AnimationFadeOutDicLow[(AnimationFadeOutDicLow[key].Index)].Tran.SetSiblingIndex((AnimationFadeOutDicLow[key].Index));
                }
            }
            if (AnimationFadeOutDicThree.Count > 0)//第三层(拉到第二层)
            {
                foreach (var key in AnimationFadeOutDicThree.Keys)
                {
                    AnimationFadeOutDicThree[(AnimationFadeOutDicThree[key].Index)].Tran.SetParent(m_GroupIndex_Low);
                    AnimationFadeOutDicThree[(AnimationFadeOutDicThree[key].Index)].Tran.SetSiblingIndex((AnimationFadeOutDicThree[key].Index));
                }
            }
        }
        private void SetfatherNodeTop()//设置父节点上层
        {
            SelectCaseRequestListTop.Clear();
            foreach (var key in AnimationFadeOutDicTop.Keys)
            {
                SelectCaseRequestListTop.Add(AnimationFadeOutDicTop[key]);
            }
            for (int i = 0; i < m_BoxContainerTranTop.childCount; i++)
            {
                int type = i;
                Transform tran = m_BoxContainerTranTop.GetChild(i);
                TopAnimationPlay topAnimationPlay = tran.GetComponent<TopAnimationPlay>();
                if (type < SelectCaseRequestListTop.Count)
                {
                    tran.gameObject.SetActive(true);
                    SelectCaseRequestListTop[type].Tran.SetParent(tran);
                    SelectCaseRequestListTop[type].Tran.localPosition = Vector3.zero;
                    topAnimationPlay.IsplayAnimator = !SelectCaseRequestListTop[type].IsNagaaki;
                }
                else
                {
                    tran.gameObject.SetActive(false);
                    topAnimationPlay.IsplayAnimator = false;
                }
            }
        }
        private void SetfatherNodeLow()//设置父节点下层
        {
            SelectCaseRequestListLow.Clear();
            foreach (var key in AnimationFadeOutDicLow.Keys)
            {
                SelectCaseRequestListLow.Add(AnimationFadeOutDicLow[key]);
            }
            SelectCaseRequestListLow.Sort(Compare);
            for (int i = 0; i < m_BoxContainerTranLow.childCount; i++)
            {
                int type = i;
                Transform tran = m_BoxContainerTranLow.GetChild(i);
                TopAnimationPlay topAnimationPlay = tran.GetComponent<TopAnimationPlay>();
                if (type < SelectCaseRequestListLow.Count)
                {
                    tran.gameObject.SetActive(true);
                    SelectCaseRequestListLow[type].Tran.SetParent(tran);
                    SelectCaseRequestListLow[type].Tran.localPosition = Vector3.zero;
                    topAnimationPlay.IsplayAnimator = !SelectCaseRequestListLow[type].IsNagaaki;
                }
                else
                {
                    tran.gameObject.SetActive(false);
                    topAnimationPlay.IsplayAnimator = false;
                }
            }
        }
        private void SetfatherNodeThree()//设置父节点第三层
        {
            SelectCaseRequestListThree.Clear();
            foreach (var key in AnimationFadeOutDicThree.Keys)
            {
                SelectCaseRequestListThree.Add(AnimationFadeOutDicThree[key]);
            }
            SelectCaseRequestListThree.Sort(Compare);
            for (int i = 0; i < m_BoxContainerThree.childCount; i++)
            {
                int type = i;
                Transform tran = m_BoxContainerThree.GetChild(i);
                TopAnimationPlay topAnimationPlay = tran.GetComponent<TopAnimationPlay>();
                if (type < SelectCaseRequestListThree.Count)
                {
                    tran.gameObject.SetActive(true);
                    SelectCaseRequestListThree[type].Tran.SetParent(tran);
                    SelectCaseRequestListThree[type].Tran.localPosition = Vector3.zero;
                    topAnimationPlay.IsplayAnimator = !SelectCaseRequestListThree[type].IsNagaaki;
                }
                else
                {
                    tran.gameObject.SetActive(false);
                    topAnimationPlay.IsplayAnimator = false;
                }
            }
        }
        int Compare(SelectCaseRequest x, SelectCaseRequest y)
        {
            bool havex = x.IsNagaaki;
            bool havey = y.IsNagaaki;
            if (havex.CompareTo(havey) != 0)
            {
                return -havex.CompareTo(havey);
            }
            if (x.Index.CompareTo(y.Index) != 0)
            {
                return x.Index.CompareTo(y.Index);
            }
            return 1;
        }
        private void OnFuncStateChange(int obj)
        {
            Classify();
            RefreshGridsActiveState();
        }
        private void RefreshGridsActiveState()
        {
            foreach (var grid in m_GridGroup1)
            {
                var active = grid.IsOpen();
                if (active && !grid.gameObject.activeSelf)
                {
                    grid.gameObject.SetActive(true);
                }
                if (!active && grid.gameObject.activeSelf)
                {
                    grid.gameObject.SetActive(false);
                }
            }
            foreach (var grid in m_GridGroup2)
            {
                var active = grid.IsOpen();
                if (active && !grid.gameObject.activeSelf)
                {
                    grid.gameObject.SetActive(true);
                }
                if (!active && grid.gameObject.activeSelf)
                {
                    grid.gameObject.SetActive(false);
                }
            }
        }
        public bool IsShowButton()//是否显示切换按钮
        {
            bool boolOpen = false;
            for (int i = 0; i < SelectCaseRequestListTop.Count; i++)
            foreach (var grid in m_GridGroup1)
            {
                if (!SelectCaseRequestListTop[i].IsNagaaki)
                if (!grid.alwayShow)
                {
                    boolOpen = true;
                    return true;
                }
            }
            for (int i = 0; i < SelectCaseRequestListLow.Count; i++)
            foreach (var grid in m_GridGroup2)
            {
                if (!SelectCaseRequestListLow[i].IsNagaaki)
                if (!grid.alwayShow)
                {
                    boolOpen = true;
                    return true;
                }
            }
            for (int i = 0; i < SelectCaseRequestListThree.Count; i++)
            {
                if (!SelectCaseRequestListThree[i].IsNagaaki)
                {
                    boolOpen = true;
                }
            }
            return boolOpen;
            return false;
        }
        private void LateUpdate()
        {
            if (!NewBieCenter.Instance.inGuiding)
            {
                if (state == State.Opened)
                {
                    closeTimer -= Time.deltaTime;
                    if (closeTimer <= 0f)
                    {
                        Switch(false);
                    }
                }
            }
        }
        private void DisplayArrow(State state)
        {
            m_ArrowOpen.gameObject.SetActive(state == State.Opened);
            m_ArrowClose.gameObject.SetActive(state == State.Closed);
        }
        public enum State
        {
            Opened,
            Closed,
        }
    }
}
System/MainInterfacePanel/HighSettingTip.cs
@@ -14,6 +14,7 @@
    public class HighSettingTip : MonoBehaviour
    {
        [SerializeField] Button _DaTreasureBtn;//打宝按钮
        [SerializeField] Button m_LootPrecious;//夺宝
        [SerializeField] Button _MarketBtn;//市场按钮
@@ -22,14 +23,6 @@
        [SerializeField] Button _WelfareBtn;//福利按钮
        [SerializeField] Button m_OpenService;//开服活动按钮
        [SerializeField] Button _RuneTaBtn;//符印按钮
        [SerializeField] Image m_OpenServerTitle;
        [SerializeField] Transform m_HighSettingTip;//判定
        [SerializeField] GameObject m_HighSettingShow;//是否开启切换功能
        [SerializeField] Button _ShowBtn;//切换按钮1
        [SerializeField] Button _ColseBtn;//切换按钮2
        [SerializeField] UIEffect m_OSCEffect;//开服活动特效
        [SerializeField] UIEffect m_StoreEffect;//商城特效
@@ -51,16 +44,12 @@
        [SerializeField] Button m_CrossServerBtn;//跨服1V1按钮
        [SerializeField] Button m_OpenServiceBtn;//周狂欢按钮
        [SerializeField] Button m_NewYearBtn;//新年盛典
        private bool _bool = true;
        private int swicthCdTime = 0;
        private bool IsFadeOut = true;
        private bool isNeedTip = true;
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        OSGiftModel osGiftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
        PlayerMainDate mainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
        CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        private void Start()
        {
            isNeedTip = true;
@@ -68,7 +57,6 @@
        public void Init()
        {
            swicthCdTime = int.Parse(FuncConfigConfig.Get("AutomaticSwitch").Numerical1);
            OpenServerActivityStateChange();
            m_RechargetBtnBehaviour.Init();
            m_HighSettingFadeInFadeOut.Init();
@@ -79,8 +67,6 @@
            _WelfareBtn.AddListener(WelfareButton);
            _DaTreasureBtn.AddListener(DaTreasureButton);
            _RechargeBtn.AddListener(RechargeButton);
            _ShowBtn.AddListener(ShowButton);
            _ColseBtn.AddListener(ColseButton);
            m_HappyXBBtn.AddListener(OnClickHappyXBBtn);
            m_FindHostBtn.AddListener(OnClickFindHostBtn);
            m_OpenService.AddListener(OpenService);
@@ -93,40 +79,9 @@
            m_CrossServerBtn.AddListener(OnClickCrossServerBtn);
            m_OpenServiceBtn.AddListener(OnClickOpenServiceBtn);
            m_NewYearBtn.AddListener(OnClickNewYearBtn);
            if (_bool)
            {
                ColseButton();
            }
            if (_ColseBtn.gameObject.activeSelf)
            {
                CoroutineMgr.Instance.OnMainStartCorUp(swicthCdTime);
            }
            CoroutineMgr.Instance.MainHighTipCdTimeEvent += OnMainHighTipCdTime;
            FunctionUnlockFlyObjectTarget.IsPlayerUiEffect += IsPlayerUiEffect;
            storeModel.StoreFuncOpenAct += OnStoreFuncOpen;
            OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
        }
        public void OnActived()
        {
            if (_ColseBtn.gameObject.activeInHierarchy)
            {
                m_HighSettingFadeInFadeOut.PositionNow();
            }
            else
            {
                if (mainModel.IsRedPointShowPanel())
                {
                    ShowButtonNow();
                }
                else
                {
                    m_HighSettingFadeInFadeOut.PositionDel();
                }
            }
        }
        public void UnInit()
@@ -137,8 +92,6 @@
            _WelfareBtn.RemoveAllListeners();
            _DaTreasureBtn.RemoveAllListeners();
            _RechargeBtn.RemoveAllListeners();
            _ShowBtn.RemoveAllListeners();
            _ColseBtn.RemoveAllListeners();
            m_OpenService.RemoveAllListeners();
            m_HappyXBBtn.RemoveAllListeners();
            m_FindHostBtn.RemoveAllListeners();
@@ -147,36 +100,15 @@
            m_FlashSaleBtn.RemoveAllListeners();
            m_AllThePeopleBtn.RemoveAllListeners();
            m_NewYearBtn.RemoveAllListeners();
            CoroutineMgr.Instance.MainHighTipCdTimeEvent -= OnMainHighTipCdTime;
            FunctionUnlockFlyObjectTarget.IsPlayerUiEffect -= IsPlayerUiEffect;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
            storeModel.StoreFuncOpenAct -= OnStoreFuncOpen;
            OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
            CoroutineMgr.Instance.OnMainStopCorUP();
            m_HighSettingFadeInFadeOut.Unit();
            m_HighSettingFadeInFadeOut.UnInit();
            m_RechargetBtnBehaviour.UnInit();
        }
        private void OnFuncStateChange(int obj)
        {
            if (this.gameObject.activeInHierarchy)
            {
                StartCoroutine(DelayFrame());
            }
        }
        IEnumerator DelayFrame()
        {
            yield return WaitingForSecondConst.WaitMS200;
            SwithButtonObj();
        }
        public void AfterOpen()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
            SwithButtonObj();
            RefreshOSCEffect();
            RefreshStoreEffect();
        }
@@ -186,27 +118,10 @@
            StopCoroutine(DelayHideStoreDes());
        }
        private void IsPlayerUiEffect()
        {
            if (NewBieCenter.Instance.inGuiding)
            {
                return;
            }
            if (!m_HighSettingFadeInFadeOut.GetIsFadeIn())
            {
                m_HighSettingFadeInFadeOut.PositionDel();//立刻隐藏
            }
        }
        private void OpenServerActivityStateChange()
        {
            int _order = 0;
            m_OpenService.gameObject.SetActive(OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _order));
        }
        private void OnMainHighTipCdTime()
        {
            ColseButton();
        }
        void MarketButton()//市场按钮
@@ -220,7 +135,6 @@
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<OpenServerActivityWin>();
        }
        void ShoppingButton()//商城按钮
        {
@@ -301,7 +215,7 @@
        void OnCliCkLimitedTimePBtn()//限时礼包
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<OpenServerActivityWin>(false,7);
            WindowCenter.Instance.Open<OpenServerActivityWin>(false, 7);
        }
        void OnClickElfFestivalBtn()
@@ -329,7 +243,7 @@
        void OnClickCrossServerBtn()//跨服PK
        {
            int limitlv = FuncOpenLVConfig.Get(157).LimitLV;
            if (FuncOpen.Instance.IsFuncOpen(157)&& TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
            if (FuncOpen.Instance.IsFuncOpen(157) && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
                WindowCenter.Instance.Open<CrossServerWin>();
@@ -343,65 +257,19 @@
                else
                {
                    SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross);
                }
                }
            }
        }
        void OnClickOpenServiceBtn()
        {
            WindowCenter.Instance.Open<AchievementActivityWin>();
        }
        void OnClickNewYearBtn()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<NewYearFairylandCeremonyWin>();
        }
        public void ShowButton()//向上
        {
            _ColseBtn.gameObject.SetActive(true);
            _ShowBtn.gameObject.SetActive(false);
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && m_HighSettingTip.gameObject.activeSelf)
            {
                m_HighSettingFadeInFadeOut.FadeOut();//淡出
            }
            CoroutineMgr.Instance.OnMainStartCorUp(swicthCdTime);
        }
        public void ColseButton()//向下
        {
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && m_HighSettingTip.gameObject.activeSelf)
            {
                _ShowBtn.gameObject.SetActive(true);
                _ColseBtn.gameObject.SetActive(false);
                m_HighSettingFadeInFadeOut.FadeIn();//淡入
                _bool = false;
                CoroutineMgr.Instance.OnMainStopCorUP();
            }
        }
        public void ColseButtonNow()//向下(立刻隐藏)
        {
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && m_HighSettingTip.gameObject.activeSelf)
            {
                _ShowBtn.gameObject.SetActive(true);
                _ColseBtn.gameObject.SetActive(false);
                m_HighSettingFadeInFadeOut.PositionDel();//立刻隐藏
                _bool = false;
                CoroutineMgr.Instance.OnMainStopCorUP();
            }
        }
        public void ShowButtonNow()//向上(立刻出现)
        {
            _ColseBtn.gameObject.SetActive(true);
            _ShowBtn.gameObject.SetActive(false);
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && m_HighSettingTip.gameObject.activeSelf)
            {
                m_HighSettingFadeInFadeOut.PositionNow();//立刻出现
            }
        }
        private void RefreshOSCEffect()
@@ -416,7 +284,6 @@
                m_OSCEffect.StopImediatly();
            }
        }
        private void OnStoreFuncOpen()
        {
@@ -433,7 +300,7 @@
            var storeDatas = storeModel.TryGetStoreDatas(StoreFunc.MysteryStore);
            if (storeDatas != null
                && storeDatas.Count > 0
                && storeDatas.Count > 0
                && !m_StoreEffect.IsPlaying)
            {
                if (isNeedTip)
@@ -460,23 +327,6 @@
            storeDesBtn.gameObject.SetActive(false);
        }
        private void SwithButtonObj()
        {
            if (!PreFightMission.Instance.IsFinished())
            {
                return;
            }
            if (m_HighSettingFadeInFadeOut.IsShowButton())
            {
                m_HighSettingShow.SetActive(true);
            }
            else
            {
                m_HighSettingShow.SetActive(false);
            }
        }
    }
}
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -22,6 +22,7 @@
        [SerializeField] LowSettingTip m_LowSettingTip;
        [SerializeField] ChatFrame m_ChatTip;
        [SerializeField] HighSettingTip m_HighSettingTip;
        [SerializeField] HighSettingFadeInFadeOut m_HighSettingFadeInFadeOut;
        [SerializeField] TaskListTip m_TaskListTip;//任务
        [SerializeField] TopRightTip m_TopRightTip;
        [SerializeField] FunctionForecastTip m_FunctionForecastTip;//功能预告
@@ -150,7 +151,6 @@
        protected override void OnActived()
        {
            m_MainButtonMisc.OnActived();
            m_HighSettingTip.OnActived();
            IsShowTaskPanel();//是否显示任务面板
        }
@@ -647,7 +647,8 @@
                {
                    SetTipPanelOrBossList(true, true);
                }
                m_HighSettingTip.ShowButtonNow();
                m_HighSettingFadeInFadeOut.SwitchImmedidately(true);
            }
            else
            {
@@ -659,7 +660,8 @@
                {
                    m_SkillContainer.skillTurnplate.SwitchGroup(_skillGroup);
                }
                m_HighSettingTip.ShowButtonNow();
                m_HighSettingFadeInFadeOut.SwitchImmedidately(false);
            }
        }
System/MainInterfacePanel/MainWinTopGrid.cs
New file
@@ -0,0 +1,131 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, March 28, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;
namespace Snxxz.UI
{
    public class MainWinTopGrid : MonoBehaviour
    {
        [SerializeField] bool m_AlwayShow;
        [SerializeField] int m_FunctionId;
        [SerializeField] OpenServerActivityCenter.OSActivityType m_OpenServerActivityType = OpenServerActivityCenter.OSActivityType.max;
        [SerializeField] bool m_IsAnyOpenServerActivity = false;
        [SerializeField] Operation m_OperationActivityType = Operation.max;
        [SerializeField] RectTransform m_Content;
        [SerializeField] CanvasGroup m_CanvasGroup;
        [SerializeField] IsPlayerUIeffect m_IsPlayerUIeffect;
        public bool alwayShow { get { return m_AlwayShow; } }
        float targetY = 0f;
        float targetAlpha = 0f;
        private void OnEnable()
        {
            if (m_AlwayShow)
            {
                SwitchImmediately(true, 0);
            }
        }
        public void Switch(bool active, int offset)
        {
            if (m_AlwayShow)
            {
                return;
            }
            targetY = active ? 0 : 120f + offset * 85f;
            targetAlpha = active ? 1f : 0f;
            if (active)
            {
                m_Content.DOLocalMoveY(targetY, 0.5f).SetDelay(offset * 0.1f).SetEase(Ease.OutSine).OnComplete(PlayerUIEffect);
            }
            else
            {
                m_Content.DOLocalMoveY(targetY, 0.5f).SetDelay(offset * 0.1f).SetEase(Ease.InSine).OnStart(StopUIEffect);
            }
            m_CanvasGroup.DOFade(targetAlpha, 0.5f).SetDelay(offset * 0.1f).SetEase(active ? Ease.OutSine : Ease.InSine);
            m_CanvasGroup.blocksRaycasts = active;
        }
        public void SwitchImmediately(bool active, int offset)
        {
            if (m_AlwayShow)
            {
                return;
            }
            targetY = active ? 0 : 120f + offset * 85f;
            targetAlpha = active ? 1f : 0f;
            m_Content.anchoredPosition = m_Content.anchoredPosition.SetY(targetY);
            m_CanvasGroup.alpha = targetAlpha;
            m_CanvasGroup.blocksRaycasts = active;
            if (active)
            {
                PlayerUIEffect();
            }
            else
            {
                StopUIEffect();
            }
        }
        public bool IsOpen()
        {
            if (m_FunctionId > 0)
            {
                return FuncOpen.Instance.IsFuncOpen(m_FunctionId);
            }
            if (m_OpenServerActivityType != OpenServerActivityCenter.OSActivityType.max)
            {
                return OpenServerActivityCenter.Instance.IsActivityOpen((int)m_OpenServerActivityType);
            }
            if (m_IsAnyOpenServerActivity)
            {
                var functionOrder = 0;
                return OpenServerActivityCenter.Instance.IsAnyActivityOpen(out functionOrder);
            }
            if (m_OperationActivityType != Operation.max)
            {
                return OperationTimeHepler.Instance.SatisfyOpenCondition(m_OperationActivityType);
            }
            return false;
        }
        private void PlayerUIEffect()
        {
            if (m_IsPlayerUIeffect != null)
            {
                m_IsPlayerUIeffect.StartPlayUIEffect();
            }
        }
        private void StopUIEffect()
        {
            if (m_IsPlayerUIeffect != null)
            {
                m_IsPlayerUIeffect.ObtainPlayUIEffect();
            }
        }
    }
}
System/MainInterfacePanel/MainWinTopGrid.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0ced12ec5e91d1442982d20795a41ea1
timeCreated: 1553777994
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/OpenServerActivity/ImpactRankModel.cs
@@ -863,6 +863,8 @@
            LuckyTreasure = 20,
            [Header("登录奖励")]
            LoginReward = 21,
            max=100,
        }
    }