//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
using System.Collections;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//顶层面板框按钮
|
namespace vnxbqy.UI
|
{
|
|
public class HighSettingTip : MonoBehaviour
|
{
|
[SerializeField] Button _DaTreasureBtn;//打宝按钮
|
[SerializeField] Button m_LootPrecious;//夺宝
|
[SerializeField] Button _MarketBtn;//市场按钮
|
[SerializeField] Button _ShoppingBtn;//商城按钮
|
[SerializeField] Button _RechargeBtn;//充值按钮
|
[SerializeField] RedpointBehaviour _RechargeBtnRedPoint;//充值按钮红点
|
[SerializeField] Button _CZFLBtn;//充值返利按钮
|
|
[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] Button m_ElfFestivalBtn;//仙界盛典
|
[SerializeField] Button m_CrossServerBtn;//跨服1V1按钮
|
[SerializeField] Button m_OpenServiceBtn;//周狂欢按钮
|
[SerializeField] Button m_NewYearBtn;//新年盛典
|
[SerializeField] Button m_HazyRegion; //!!!原缥缈仙域按钮改用合服活动
|
|
[SerializeField] Button m_HolidayWishes;
|
[SerializeField] Button m_JPBN; //极品白拿
|
[SerializeField] Button m_ZXTH; //在线特惠
|
[SerializeField] Button m_GNTQ; //功能特权卡
|
[SerializeField] Button m_BossTrial; //BOSS历练
|
|
|
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>(); } }
|
VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
|
private void Start()
|
{
|
isNeedTip = true;
|
storeDesBtn.SetListener(() => { storeDesBtn.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);
|
_CZFLBtn.SetListener(()=> {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<AddUpRechargeWin>();
|
});
|
m_HolidayWishes.SetListener(OpenHolidayWishes);
|
m_JPBN.SetListener(() => {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open("NeedForWhiteWin");
|
});
|
m_ZXTH.SetListener(() => {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open("OnlineRechargeWin");
|
});
|
m_GNTQ.SetListener(() => {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open("RechargeGenerousGiftWin");
|
});
|
m_BossTrial.SetListener(() => {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
});
|
}
|
|
public void Init()
|
{
|
OpenServerActivityStateChange();
|
DisplayRechargeBtn();
|
|
vipModel.firstChargeRewardEvent += DisplayRechargeBtn;
|
storeModel.StoreFuncOpenAct += OnStoreFuncOpen;
|
OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
|
//m_JPBN.SetActive(ILRuntimeUtility.Instance.ModelInvoke<bool>("NeedForWhiteModel", "IsOpen"));
|
m_JPBN.SetActive(NeedForWhiteModel.Instance.IsOpen());
|
|
}
|
|
public void UnInit()
|
{
|
vipModel.firstChargeRewardEvent -= DisplayRechargeBtn;
|
storeModel.StoreFuncOpenAct -= OnStoreFuncOpen;
|
OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
|
}
|
|
public void AfterOpen()
|
{
|
RefreshOSCEffect();
|
RefreshStoreEffect();
|
}
|
|
private void OnDisable()
|
{
|
StopCoroutine(DelayHideStoreDes());
|
}
|
|
private void OpenServerActivityStateChange()
|
{
|
int _order = 0;
|
m_OpenService.SetActive(OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _order));
|
}
|
|
void MarketButton()//市场按钮
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<AuctionHouseWin>();
|
}
|
|
void OpenService()//开服活动
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<OpenServerActivityWin>();
|
}
|
|
void OpenHolidayWishes() //节日祝福
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<HolidayWishesWin>();
|
}
|
|
void ShoppingButton()//商城按钮
|
{
|
if (FuncOpen.Instance.IsFuncOpen(79))
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<StoreWin>(false, 4);
|
}
|
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>(false, 3);
|
}
|
}
|
|
void LootPreciousButton()//夺宝
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 1);
|
}
|
|
void DisplayRechargeBtn()
|
{
|
_RechargeBtn.SetActive(!vipModel.IsFirstChargeRewardGetByDay());
|
}
|
|
void RechargeButton()//充值按钮
|
{
|
if (VersionConfig.Get().isBanShu)
|
{
|
SysNotifyMgr.Instance.ShowTip("FuncNoOpen_Nowaday");
|
return;
|
}
|
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
if (!NewBieCenter.Instance.inGuiding)
|
{
|
WindowCenter.Instance.Open<FirstRechargeWin>(true);
|
}
|
}
|
|
void RuneTaButton()//符印塔
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<TowerWin>(false, 0);
|
}
|
|
void OnClickHappyXBBtn()//寻宝
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
var xbModel = ModelCenter.Instance.GetModel<HappyXBModel>();
|
var functionOrder = 0;
|
if (xbModel.bestXBRed.state == RedPointState.Simple)
|
{
|
functionOrder = 0;
|
}
|
else if (xbModel.runeXBRed.state == RedPointState.Simple)
|
{
|
functionOrder = 1;
|
}
|
else if (xbModel.xbStoreRed.state == RedPointState.Simple)
|
{
|
functionOrder = 2;
|
}
|
else if (xbModel.xbWarehouseRed.state == RedPointState.Simple)
|
{
|
functionOrder = 3;
|
}
|
WindowCenter.Instance.Open<HappyXBWin>(false, functionOrder);
|
}
|
|
void OnClickFindHostBtn()//仙宝寻主
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<TreasureFindHostWin>();
|
}
|
|
void OnClickElfFestivalBtn()
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open<FairylandCeremonyWin>();
|
}
|
|
void OnClickCrossServerBtn()//跨服PK
|
{
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
|
int limitlv = FuncOpenLVConfig.Get(157).LimitLV;
|
if (FuncOpen.Instance.IsFuncOpen(157) && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
|
{
|
WindowCenter.Instance.Open<CrossServerWin>();
|
}
|
else
|
{
|
if (PlayerDatas.Instance.baseData.LV < limitlv)
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossMatching14", limitlv);
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross);
|
}
|
}
|
}
|
|
|
private void OpenHazyRegion()
|
{
|
//!!!原缥缈仙域按钮改用合服活动
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
WindowCenter.Instance.Open("MergeServerActivityWin");
|
}
|
|
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.SetActive(false);
|
m_StoreEffect.StopImediatly();
|
//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.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.SetActive(false);
|
}
|
|
}
|
|
}
|
|
|
|