//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
using System.Collections;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//顶层面板框按钮
|
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 m_OpenService;//开服活动按钮
|
[SerializeField] Button _RuneTaBtn;//符印按钮
|
|
[SerializeField] UIEffect m_OSCEffect;//开服活动特效
|
[SerializeField] UIEffect m_StoreEffect;//商城特效
|
[SerializeField] Button storeDesBtn; //商城活动描述信息
|
|
[SerializeField] Button m_HappyXBBtn;//寻宝入口
|
[SerializeField] Button m_FindHostBtn;//仙宝寻主
|
|
[SerializeField] RechargeBtnBehaviour m_RechargetBtnBehaviour;
|
|
[SerializeField] Button m_ElfFestivalBtn;//仙界盛典
|
[SerializeField] Button m_CrossServerBtn;//跨服1V1按钮
|
[SerializeField] Button m_OpenServiceBtn;//周狂欢按钮
|
[SerializeField] Button m_NewYearBtn;//新年盛典
|
[SerializeField] Button m_HazyRegion;
|
|
private bool isNeedTip = true;
|
|
StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
|
WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
|
|
private void Start()
|
{
|
isNeedTip = true;
|
storeDesBtn.SetListener(() => { storeDesBtn.gameObject.SetActive(false); });
|
m_LootPrecious.SetListener(LootPreciousButton);
|
_MarketBtn.SetListener(MarketButton);
|
_ShoppingBtn.SetListener(ShoppingButton);
|
_WelfareBtn.SetListener(WelfareButton);
|
_DaTreasureBtn.SetListener(DaTreasureButton);
|
_RechargeBtn.SetListener(RechargeButton);
|
m_HappyXBBtn.SetListener(OnClickHappyXBBtn);
|
m_FindHostBtn.SetListener(OnClickFindHostBtn);
|
m_OpenService.SetListener(OpenService);
|
_RuneTaBtn.SetListener(RuneTaButton);
|
m_ElfFestivalBtn.SetListener(OnClickElfFestivalBtn);
|
m_CrossServerBtn.SetListener(OnClickCrossServerBtn);
|
m_OpenServiceBtn.SetListener(OnClickOpenServiceBtn);
|
m_NewYearBtn.SetListener(OnClickNewYearBtn);
|
m_HazyRegion.SetListener(OpenHazyRegion);
|
}
|
|
public void Init()
|
{
|
OpenServerActivityStateChange();
|
m_RechargetBtnBehaviour.Init();
|
|
storeModel.StoreFuncOpenAct += OnStoreFuncOpen;
|
OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
|
}
|
|
public void UnInit()
|
{
|
storeModel.StoreFuncOpenAct -= OnStoreFuncOpen;
|
OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
|
m_RechargetBtnBehaviour.UnInit();
|
}
|
|
public void AfterOpen()
|
{
|
RefreshOSCEffect();
|
RefreshStoreEffect();
|
}
|
|
private void OnDisable()
|
{
|
StopCoroutine(DelayHideStoreDes());
|
}
|
|
private void OpenServerActivityStateChange()
|
{
|
int _order = 0;
|
m_OpenService.gameObject.SetActive(OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _order));
|
}
|
|
void MarketButton()//市场按钮
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<AuctionHouseWin>();
|
}
|
|
void OpenService()//开服活动
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<OpenServerActivityWin>();
|
}
|
|
void ShoppingButton()//商城按钮
|
{
|
if (FuncOpen.Instance.IsFuncOpen(79))
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<StoreWin>();
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
|
}
|
}
|
|
void WelfareButton()//福利按钮
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WelfareCenter.Instance.OpenWelfare();
|
}
|
|
void DaTreasureButton()//打宝按钮
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
|
if (worldBossModel.funcOpenClickSymbol)
|
{
|
worldBossModel.funcOpenClickSymbol = false;
|
WindowCenter.Instance.Open<FindPreciousFrameWin>(false, 1);
|
}
|
else
|
{
|
WindowCenter.Instance.Open<FindPreciousFrameWin>();
|
}
|
}
|
|
void LootPreciousButton()//夺宝
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 1);
|
}
|
|
void RechargeButton()//充值按钮
|
{
|
if (VersionConfig.Get().isBanShu)
|
{
|
SysNotifyMgr.Instance.ShowTip("FuncNoOpen_Nowaday");
|
return;
|
}
|
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
switch (m_RechargetBtnBehaviour.state)
|
{
|
case 1:
|
if (!NewBieCenter.Instance.inGuiding)
|
{
|
WindowCenter.Instance.Open<FirstRechargeWin>(true);
|
}
|
break;
|
case 3:
|
WindowCenter.Instance.Open<VipRechargeWin>(false, 0);
|
break;
|
}
|
}
|
|
void RuneTaButton()//符印塔
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<TowerWin>(false, 0);
|
}
|
|
void OnClickHappyXBBtn()//寻宝
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<HappyXBWin>();
|
}
|
|
void OnClickFindHostBtn()//仙宝寻主
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<TreasureFindHostWin>();
|
}
|
|
void OnClickElfFestivalBtn()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<FairylandCeremonyWin>();
|
}
|
|
void OnClickCrossServerBtn()//跨服PK
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
if (FuncOpen.Instance.IsFuncOpen(157) && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
|
{
|
WindowCenter.Instance.Open<CrossServerWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<CrossServerWin>();
|
}
|
}
|
|
private void OpenHazyRegion()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<HazyRegionFrameWin>();
|
}
|
|
void OnClickOpenServiceBtn()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<AchievementActivityWin>();
|
}
|
|
void OnClickNewYearBtn()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<NewYearFairylandCeremonyWin>();
|
}
|
|
private void RefreshOSCEffect()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
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()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
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(StoreFunc.MysteryStore);
|
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);
|
}
|
|
}
|
|
}
|
|
|
|