| File was renamed from System/MainInterfacePanel/HighSettingFadeInFadeOut.cs |
| | |
| | | //--------------------------------------------------------
|
| | | // [Author]: 第二世界
|
| | | // [ Date ]: Wednesday, April 11, 2018
|
| | | //--------------------------------------------------------
|
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using System.Text;
|
| | | using Snxxz.UI;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class HighSettingFadeInFadeOut : MonoBehaviour
|
| | | {
|
| | | [SerializeField] Button m_Switch;//切换按钮1
|
| | | [SerializeField] Image m_ArrowOpen;
|
| | | [SerializeField] Image m_ArrowClose;
|
| | |
|
| | | [SerializeField] MainWinTopGrid[] m_GridGroup1;
|
| | | [SerializeField] MainWinTopGrid[] m_GridGroup2;
|
| | |
|
| | | State state = State.Closed;
|
| | |
|
| | | float closeTimer = 0f;
|
| | |
|
| | | TreasureFindHostModel hostModel { get { return ModelCenter.Instance.GetModel<TreasureFindHostModel>(); } }
|
| | | LimitedTimePackageItemClassModel limitedTimePackageItemModel { get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); } }
|
| | | ImpactRankModel impactRankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
|
| | | OpenServiceAchievementModel OpenServerModel { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
|
| | |
|
| | | void Start()
|
| | | {
|
| | | m_Switch.SetListener(() => { Switch(state == State.Closed); });
|
| | | SwitchImmedidately(false);
|
| | | }
|
| | |
|
| | | public void Init()
|
| | | {
|
| | | 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;
|
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem;
|
| | | impactRankModel.inImpactRankUpdate += InImpactRankUpdate;
|
| | | OpenServerModel.IsOpenEvent += IsOpenEvent;
|
| | | OpenServerModel.IsPreviewTimeUpdate += IsOpenEvent;
|
| | | OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
|
| | | }
|
| | |
|
| | | public void UnInit()
|
| | | {
|
| | | 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;
|
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem;
|
| | | impactRankModel.inImpactRankUpdate -= InImpactRankUpdate;
|
| | | OpenServerModel.IsOpenEvent -= IsOpenEvent;
|
| | | OpenServerModel.IsPreviewTimeUpdate -= IsOpenEvent;
|
| | | 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)
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void IsOpenEvent()
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void InImpactRankUpdate()
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void UpdateLimitedTimePackageItem()
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void OperationEndEvent(Operation arg1, int arg2)
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void OperationStartEvent(Operation arg1, int arg2)
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void UpdateRedpoint(int redPointID)
|
| | | {
|
| | | if (redPointID == 201 || redPointID == 210)
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | | }
|
| | |
|
| | | private void OpenServerActivityStateChange()
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void OnStepServerDay()//开服活动
|
| | | {
|
| | | var days = ModelCenter.Instance.GetModel<ImpactRankModel>().openServerActivityDays;
|
| | | if (TimeUtility.OpenDay >= days)
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | | }
|
| | |
|
| | | private void TreasureFindHostCompleteAct()//仙宝寻主
|
| | | {
|
| | | RefreshGridsActiveState();
|
| | | }
|
| | |
|
| | | private void OnFuncStateChange(int obj)
|
| | | {
|
| | | 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);
|
| | | }
|
| | | }
|
| | |
|
| | | m_Switch.gameObject.SetActive(IsShowButton());
|
| | | }
|
| | |
|
| | | bool IsShowButton()
|
| | | {
|
| | | foreach (var grid in m_GridGroup1)
|
| | | {
|
| | | if (!grid.alwayShow && grid.gameObject.activeSelf)
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | |
|
| | | foreach (var grid in m_GridGroup2)
|
| | | {
|
| | | if (!grid.alwayShow && grid.gameObject.activeSelf)
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | |
|
| | | 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,
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Wednesday, April 11, 2018 |
| | | //-------------------------------------------------------- |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using System.Text; |
| | | using Snxxz.UI; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | public class HighSettingFadeInFadeOut : MonoBehaviour |
| | | { |
| | | [SerializeField] Button m_Switch;//切换按钮1 |
| | | [SerializeField] Image m_ArrowOpen; |
| | | [SerializeField] Image m_ArrowClose; |
| | | |
| | | [SerializeField] MainWinTopGrid[] m_GridGroup1; |
| | | [SerializeField] MainWinTopGrid[] m_GridGroup2; |
| | | |
| | | State state = State.Closed; |
| | | |
| | | float closeTimer = 0f; |
| | | |
| | | TreasureFindHostModel hostModel { get { return ModelCenter.Instance.GetModel<TreasureFindHostModel>(); } } |
| | | LimitedTimePackageItemClassModel limitedTimePackageItemModel { get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); } } |
| | | ImpactRankModel impactRankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } } |
| | | OpenServiceAchievementModel OpenServerModel { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } } |
| | | |
| | | void Start() |
| | | { |
| | | m_Switch.SetListener(() => { Switch(state == State.Closed); }); |
| | | SwitchImmedidately(false); |
| | | } |
| | | |
| | | public void Init() |
| | | { |
| | | 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; |
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem; |
| | | impactRankModel.inImpactRankUpdate += InImpactRankUpdate; |
| | | OpenServerModel.IsOpenEvent += IsOpenEvent; |
| | | OpenServerModel.IsPreviewTimeUpdate += IsOpenEvent; |
| | | OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent; |
| | | } |
| | | |
| | | public void UnInit() |
| | | { |
| | | 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; |
| | | limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem; |
| | | impactRankModel.inImpactRankUpdate -= InImpactRankUpdate; |
| | | OpenServerModel.IsOpenEvent -= IsOpenEvent; |
| | | OpenServerModel.IsPreviewTimeUpdate -= IsOpenEvent; |
| | | 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) |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void IsOpenEvent() |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void InImpactRankUpdate() |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void UpdateLimitedTimePackageItem() |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void OperationEndEvent(Operation arg1, int arg2) |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void OperationStartEvent(Operation arg1, int arg2) |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void UpdateRedpoint(int redPointID) |
| | | { |
| | | if (redPointID == 201 || redPointID == 210) |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | } |
| | | |
| | | private void OpenServerActivityStateChange() |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void OnStepServerDay()//开服活动 |
| | | { |
| | | var days = ModelCenter.Instance.GetModel<ImpactRankModel>().openServerActivityDays; |
| | | if (TimeUtility.OpenDay >= days) |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | } |
| | | |
| | | private void TreasureFindHostCompleteAct()//仙宝寻主 |
| | | { |
| | | RefreshGridsActiveState(); |
| | | } |
| | | |
| | | private void OnFuncStateChange(int obj) |
| | | { |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | m_Switch.gameObject.SetActive(IsShowButton()); |
| | | } |
| | | |
| | | bool IsShowButton() |
| | | { |
| | | foreach (var grid in m_GridGroup1) |
| | | { |
| | | if (!grid.alwayShow && grid.gameObject.activeSelf) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | foreach (var grid in m_GridGroup2) |
| | | { |
| | | if (!grid.alwayShow && grid.gameObject.activeSelf) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | 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, |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |