//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
using System;
|
using System.Collections.Generic;
|
//顶层面板框按钮
|
namespace Snxxz.UI
|
{
|
|
public class HighSettingTip : MonoBehaviour
|
{
|
[SerializeField] Button _DaTreasureBtn;//打宝按钮
|
[SerializeField] Button m_LootPrecious;//夺宝
|
[SerializeField] Button _MarketBtn;//市场按钮
|
[SerializeField] Button _ShoppingBtn;//商城按钮
|
[SerializeField] Button _RechargeBtn;//充值按钮
|
[SerializeField] Button _WelfareBtn;//福利按钮
|
[SerializeField] Button _TreasureBtn;//寻宝按钮
|
[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;//商城特效
|
[SerializeField] Button storeDesBtn; //商城活动描述信息
|
|
[SerializeField] HighSettingFadeInFadeOut m_HighSettingFadeInFadeOut;
|
[SerializeField] Button m_Treasure;//法宝入口
|
|
[SerializeField] Button m_HappyXBBtn;//寻宝入口
|
[SerializeField] Button m_FindHostBtn;//仙宝寻主
|
|
[SerializeField] RechargeBtnBehaviour m_RechargetBtnBehaviour;
|
|
[SerializeField] Button m_LimitedTimePBtn;//限时礼包
|
[SerializeField] Button m_ElfFestivalBtn;//仙界盛典
|
|
[SerializeField] Button m_FlashSaleBtn;//限时特惠
|
[SerializeField] Button m_AllThePeopleBtn;//全民冲榜
|
[SerializeField] Button m_FlashRushBtn;//限时抢购
|
[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;
|
}
|
|
public void Init()
|
{
|
swicthCdTime = int.Parse(FuncConfigConfig.Get("AutomaticSwitch").Numerical1);
|
OpenServerActivityStateChange();
|
m_RechargetBtnBehaviour.Init();
|
m_HighSettingFadeInFadeOut.Init();
|
storeDesBtn.AddListener(() => { storeDesBtn.gameObject.SetActive(false); });
|
m_LootPrecious.AddListener(LootPreciousButton);
|
_MarketBtn.AddListener(MarketButton);
|
_ShoppingBtn.AddListener(ShoppingButton);
|
_TreasureBtn.AddListener(TreasureButton);
|
_WelfareBtn.AddListener(WelfareButton);
|
_DaTreasureBtn.AddListener(DaTreasureButton);
|
_RechargeBtn.AddListener(RechargeButton);
|
m_Treasure.AddListener(OpenTreasure);
|
_ShowBtn.AddListener(ShowButton);
|
_ColseBtn.AddListener(ColseButton);
|
m_HappyXBBtn.AddListener(OnClickHappyXBBtn);
|
m_FindHostBtn.AddListener(OnClickFindHostBtn);
|
m_OpenService.AddListener(OpenService);
|
_RuneTaBtn.onClick.AddListener(RuneTaButton);
|
m_LimitedTimePBtn.AddListener(OnCliCkLimitedTimePBtn);
|
m_ElfFestivalBtn.AddListener(OnClickElfFestivalBtn);
|
m_FlashSaleBtn.AddListener(OnClickmFlashSaleBtn);
|
m_AllThePeopleBtn.AddListener(OnClickmAllThePeopleBtn);
|
m_FlashRushBtn.AddListener(OnClickFlashRushBtn);
|
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()
|
{
|
m_LootPrecious.RemoveAllListeners();
|
_MarketBtn.RemoveAllListeners();
|
_ShoppingBtn.RemoveAllListeners();
|
_TreasureBtn.RemoveAllListeners();
|
_WelfareBtn.RemoveAllListeners();
|
_DaTreasureBtn.RemoveAllListeners();
|
_RechargeBtn.RemoveAllListeners();
|
m_Treasure.RemoveAllListeners();
|
_ShowBtn.RemoveAllListeners();
|
_ColseBtn.RemoveAllListeners();
|
m_OpenService.RemoveAllListeners();
|
m_HappyXBBtn.RemoveAllListeners();
|
m_FindHostBtn.RemoveAllListeners();
|
m_LimitedTimePBtn.RemoveAllListeners();
|
_RuneTaBtn.onClick.RemoveAllListeners();
|
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_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();
|
}
|
|
private void OnDisable()
|
{
|
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));
|
//m_OpenServerTitle.SetSprite(OpenServerActivityCenter.Instance.IsFlashSaleTitle() ? "WZ_ZJM_29" : "W_HuoDong");
|
}
|
|
private void OnMainHighTipCdTime()
|
{
|
ColseButton();
|
}
|
|
void MarketButton()//市场按钮
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<MarketWin>();
|
}
|
|
void OpenService()//开服活动
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<OpenServerActivityWin>();
|
}
|
|
|
void ShoppingButton()//商城按钮
|
{
|
if (FuncOpen.Instance.IsFuncOpen(79))
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<StoreWin>();
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
|
}
|
}
|
|
void TreasureButton()//寻宝按钮
|
{
|
|
}
|
void WelfareButton()//福利按钮
|
{
|
WelfareCenter.Instance.OpenWelfare();
|
}
|
|
void DaTreasureButton()//打宝按钮
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<FindPreciousFrameWin>();
|
}
|
|
void LootPreciousButton()//夺宝
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
if (fairyGrabBossModel.InActivityTime && !NewBieCenter.Instance.inGuiding)
|
{
|
WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 1);
|
}
|
else
|
{
|
WindowCenter.Instance.Open<LootPreciousFrameWin>();
|
}
|
}
|
|
void RechargeButton()//充值按钮
|
{
|
if (VersionConfig.Get().isBanShu)
|
{
|
SysNotifyMgr.Instance.ShowTip("FuncNoOpen_Nowaday");
|
return;
|
}
|
switch (m_RechargetBtnBehaviour.state)
|
{
|
case 1:
|
if (!NewBieCenter.Instance.inGuiding)
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<FirstRechargeWin>(true);
|
}
|
break;
|
case 3:
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<VipRechargeWin>(false, 0);
|
break;
|
}
|
}
|
void RuneTaButton()//符印塔
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<TowerWin>(false, 0);
|
}
|
void OpenTreasure()
|
{
|
var _model = ModelCenter.Instance.GetModel<TreasureModel>();
|
if (!_model.SatisfyEntranceOpen())
|
{
|
_model.DisplayEntranceLimitHint();
|
return;
|
}
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
if (_model.GetTreasureUnlockShow(TreasureCategory.Human) != 0)
|
{
|
_model.currentCategory = TreasureCategory.Human;
|
}
|
else if (_model.GetTreasureUnlockShow(TreasureCategory.Demon) != 0)
|
{
|
_model.currentCategory = TreasureCategory.Demon;
|
}
|
else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1])
|
== RedPointState.Simple)
|
{
|
_model.currentCategory = TreasureCategory.Human;
|
}
|
else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Demon - 1])
|
== RedPointState.Simple)
|
{
|
_model.currentCategory = TreasureCategory.Demon;
|
}
|
WindowCenter.Instance.Open<TreasureSelectWin>();
|
}
|
|
void OnClickHappyXBBtn()//寻宝
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<HappyXBWin>();
|
}
|
|
void OnClickFindHostBtn()//仙宝寻主
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<TreasureFindHostWin>();
|
}
|
void OnCliCkLimitedTimePBtn()//限时礼包
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<OpenServerActivityWin>(false,7);
|
}
|
|
void OnClickElfFestivalBtn()
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<FairylandCeremonyWin>();
|
}
|
void OnClickmFlashSaleBtn()//限时特惠
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<OpenServerActivityWin>(false, 4);
|
}
|
|
void OnClickmAllThePeopleBtn()//全民冲榜
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
OpenServerActivityCenter.Instance.selectFuncOrder = (int)OpenServerActivityCenter.OSActivityType.ImpactRank;
|
WindowCenter.Instance.Open<OpenServerActivityWin>();
|
}
|
void OnClickFlashRushBtn()//限时抢购
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<OpenServerActivityWin>(false, 14);
|
}
|
void OnClickCrossServerBtn()//跨服PK
|
{
|
int limitlv = FuncOpenLVConfig.Get(157).LimitLV;
|
if (FuncOpen.Instance.IsFuncOpen(157)&& TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
|
{
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<CrossServerWin>();
|
}
|
else
|
{
|
if (PlayerDatas.Instance.baseData.LV < limitlv)
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossMatching14", limitlv);
|
}
|
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();//立刻出现
|
}
|
//if (!mainModel.IsRedPointShowPanel())
|
//{
|
// CoroutineMgr.Instance.OnMainStartCorUp(swicthCdTime);
|
//}
|
}
|
|
private void RefreshOSCEffect()
|
{
|
var _open = ModelCenter.Instance.GetModel<ImpactRankModel>().OSCEffectOpen;
|
if (_open && !m_OSCEffect.IsPlaying)
|
{
|
m_OSCEffect.Play();
|
}
|
else if (!_open && m_OSCEffect.IsPlaying)
|
{
|
m_OSCEffect.StopImediatly();
|
}
|
}
|
|
|
private void OnStoreFuncOpen()
|
{
|
RefreshStoreEffect();
|
}
|
|
private void RefreshStoreEffect()
|
{
|
storeDesBtn.gameObject.SetActive(false);
|
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)
|
|| PlayerDatas.Instance.baseData.LV < storeModel.storeTrailerLv
|
|| !storeModel.IsNewDay(storeModel.StoreEffectRecord_Key))
|
return;
|
|
var storeDatas = storeModel.TryGetStoreDatas((int)StoreFunc.WeekStore);
|
if (storeDatas != null
|
&& storeDatas.Count > 0
|
&& !m_StoreEffect.IsPlaying)
|
{
|
if (isNeedTip)
|
{
|
storeDesBtn.gameObject.SetActive(true);
|
isNeedTip = false;
|
if (this.gameObject.activeInHierarchy)
|
{
|
StartCoroutine(DelayHideStoreDes());
|
}
|
|
}
|
m_StoreEffect.Play();
|
}
|
else
|
{
|
m_StoreEffect.StopImediatly();
|
}
|
}
|
|
IEnumerator DelayHideStoreDes()
|
{
|
yield return new WaitForSeconds(5);
|
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);
|
}
|
|
}
|
}
|
|
}
|
|
|
|