//-------------------------------------------------------- // [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(); } } CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel(); } } WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } 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(); }); 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("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(); } void OpenService()//开服活动 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void OpenHolidayWishes() //节日祝福 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void ShoppingButton()//商城按钮 { if (FuncOpen.Instance.IsFuncOpen(79)) { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(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(false, 1); } else { WindowCenter.Instance.Open(false, 3); } } void LootPreciousButton()//夺宝 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(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(true); } } void RuneTaButton()//符印塔 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(false, 0); } void OnClickHappyXBBtn()//寻宝 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); var xbModel = ModelCenter.Instance.GetModel(); 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(false, functionOrder); } void OnClickFindHostBtn()//仙宝寻主 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void OnClickElfFestivalBtn() { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void OnClickCrossServerBtn()//跨服PK { HighSettingFadeInFadeOut.SetAutoCloseTimer(); int limitlv = FuncOpenLVConfig.Get(157).LimitLV; if (FuncOpen.Instance.IsFuncOpen(157) && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross) { WindowCenter.Instance.Open(); } 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(); } void OnClickNewYearBtn() { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } private void RefreshOSCEffect() { HighSettingFadeInFadeOut.SetAutoCloseTimer(); var _open = ModelCenter.Instance.GetModel().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); } } }