//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
using System.Collections;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using static ILCrossServerModel;
|
|
//顶层面板框按钮
|
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] UIEffect _WelfareEffect;
|
|
[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;
|
|
[SerializeField] Button m_HolidayWishes;
|
[SerializeField] Button m_JPBN; //极品白拿
|
[SerializeField] Button m_ZXTH; //在线特惠
|
[SerializeField] Button m_GNTQ; //功能特权卡
|
[SerializeField] Button m_NewDayActionBtn; //日期型入口- 如BOSS历练,动态图片
|
[SerializeField] Image m_NewDayActionIcon;
|
[SerializeField] Image m_NewDayActionName;
|
[SerializeField] RedpointBehaviour m_NewDayActionRedPoint;
|
[SerializeField] Button m_xg;
|
[SerializeField] Button m_ForeverCard;
|
[SerializeField] Button m_XY;
|
[SerializeField] Button m_LHD;
|
[SerializeField] Button m_YS;
|
[SerializeField] Button m_LQ;
|
[SerializeField] Button m_XMGCZ;
|
|
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>(); } }
|
AddUpRechargeModel addUpModel { get { return ModelCenter.Instance.GetModel<AddUpRechargeModel>(); } }
|
|
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_NewDayActionBtn.SetListener(() => {
|
HighSettingFadeInFadeOut.SetAutoCloseTimer();
|
var actionInfo = OpenServerActivityCenter.Instance.GetNewDayActionEnterInfo();
|
if (actionInfo.activityID == 0) return;
|
WindowCenter.Instance.Open(actionInfo.winName);
|
});
|
m_xg.SetListener(() => { ModelCenter.Instance.GetModel<CelestialPalaceModel>().OpenCelestialPalaceWin(); });
|
|
m_ForeverCard.SetListener(() => { WindowCenter.Instance.Open<ForeverCardWin>(); });
|
m_XY.SetListener(() => { WindowCenter.Instance.Open<FairyAffinityWin>(); });
|
m_LHD.SetListener(() => { WindowCenter.Instance.Open<CycleHallWin>(); });
|
m_YS.SetListener(() => { WindowCenter.Instance.Open<YunShiWin>(); });
|
m_LQ.SetListener(() => { WindowCenter.Instance.Open<LianQiActWin>(); });
|
m_XMGCZ.SetListener(() => { WindowCenter.Instance.Open<FairySiegeActWin>(); });
|
}
|
|
public void Init()
|
{
|
OpenServerActivityStateChange();
|
m_RechargetBtnBehaviour.Init();
|
DisplayRechargeBtn();
|
|
vipModel.firstChargeRewardEvent += DisplayRechargeBtn;
|
storeModel.StoreFuncOpenAct += OnStoreFuncOpen;
|
OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
|
ShowNewActionButton();
|
ShowUIeffect();
|
}
|
|
void ShowUIeffect()
|
{
|
if (RedpointCenter.Instance.GetRedpointState(201) == RedPointState.GetReward)
|
{
|
_WelfareEffect.Play();
|
}
|
else
|
{
|
_WelfareEffect.StopImediatly();
|
}
|
}
|
|
public void UnInit()
|
{
|
vipModel.firstChargeRewardEvent -= DisplayRechargeBtn;
|
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.SetActive(OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _order));
|
ShowNewActionButton();
|
}
|
|
void ShowNewActionButton()
|
{
|
var actionInfo = OpenServerActivityCenter.Instance.GetNewDayActionEnterInfo();
|
if (actionInfo.activityID == 0) return;
|
m_NewDayActionIcon.SetSprite("newdayactionicon_" + actionInfo.activityID);
|
m_NewDayActionName.SetSprite("newdayactionname_" + actionInfo.activityID);
|
m_NewDayActionRedPoint.redpointId = actionInfo.redpointID;
|
}
|
|
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();
|
if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == 73)
|
{
|
ModelCenter.Instance.GetModel<StoreModel>().OpenStoreWin(false, 4, true);
|
}
|
else
|
{
|
ModelCenter.Instance.GetModel<StoreModel>().OpenStoreWin(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(false);
|
_RechargeBtnRedPoint.redpointId = 0;
|
_CZFLBtn.SetActive(false);
|
if (!vipModel.IsFirstChargeRewardGetByDay() || addUpModel.IsCompleteAll())
|
{
|
_RechargeBtn.SetActive(true);
|
if (addUpModel.IsCompleteAll())
|
_RechargeBtnRedPoint.redpointId = 21;
|
}
|
|
//if (vipModel.IsFirstChargeRewardGetByDay(1) && !addUpModel.IsCompleteAll())
|
//{
|
// _CZFLBtn.SetActive(true);
|
//}
|
|
}
|
|
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 2:
|
// WindowCenter.Instance.Open<AddUpRechargeWin>();
|
// break;
|
case 3:
|
WindowCenter.Instance.Open<VipRechargeWin>(false, 0);
|
break;
|
}
|
}
|
|
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(162).LimitLV;
|
if (FuncOpen.Instance.IsFuncOpen(162) || TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross)
|
{
|
WindowCenter.Instance.Open<CrossServerWin>();
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross);
|
//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);
|
}
|
|
}
|
|
}
|
|
|
|