//-------------------------------------------------------- // [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 m_OpenService;//开服活动按钮 [SerializeField] Button _RuneTaBtn;//符印按钮 [SerializeField] UIEffect m_OSCEffect;//开服活动特效 [SerializeField] UIEffect m_StoreEffect;//商城特效 [SerializeField] Button storeDesBtn; //商城活动描述信息 [SerializeField] HighSettingFadeInFadeOut m_HighSettingFadeInFadeOut; [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 isNeedTip = true; StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel(); } } FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel(); } } private void Start() { isNeedTip = true; } public void Init() { OpenServerActivityStateChange(); m_RechargetBtnBehaviour.Init(); m_HighSettingFadeInFadeOut.Init(); storeDesBtn.AddListener(() => { storeDesBtn.gameObject.SetActive(false); }); m_LootPrecious.AddListener(LootPreciousButton); _MarketBtn.AddListener(MarketButton); _ShoppingBtn.AddListener(ShoppingButton); _WelfareBtn.AddListener(WelfareButton); _DaTreasureBtn.AddListener(DaTreasureButton); _RechargeBtn.AddListener(RechargeButton); 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); storeModel.StoreFuncOpenAct += OnStoreFuncOpen; OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange; } public void UnInit() { m_LootPrecious.RemoveAllListeners(); _MarketBtn.RemoveAllListeners(); _ShoppingBtn.RemoveAllListeners(); _WelfareBtn.RemoveAllListeners(); _DaTreasureBtn.RemoveAllListeners(); _RechargeBtn.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(); storeModel.StoreFuncOpenAct -= OnStoreFuncOpen; OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange; CoroutineMgr.Instance.OnMainStopCorUP(); m_HighSettingFadeInFadeOut.UnInit(); 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()//市场按钮 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void OpenService()//开服活动 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void ShoppingButton()//商城按钮 { if (FuncOpen.Instance.IsFuncOpen(79)) { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } else { SysNotifyMgr.Instance.ShowTip("UnopenedFunction"); } } void WelfareButton()//福利按钮 { WelfareCenter.Instance.OpenWelfare(); } void DaTreasureButton()//打宝按钮 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void LootPreciousButton()//夺宝 { WindowCenter.Instance.Close(); if (fairyGrabBossModel.InActivityTime && !NewBieCenter.Instance.inGuiding) { WindowCenter.Instance.Open(false, 1); } else { WindowCenter.Instance.Open(); } } 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(); WindowCenter.Instance.Open(true); } break; case 3: WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 0); break; } } void RuneTaButton()//符印塔 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 0); } void OnClickHappyXBBtn()//寻宝 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void OnClickFindHostBtn()//仙宝寻主 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void OnCliCkLimitedTimePBtn()//限时礼包 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 7); } void OnClickElfFestivalBtn() { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } void OnClickmFlashSaleBtn()//限时特惠 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 4); } void OnClickmAllThePeopleBtn()//全民冲榜 { WindowCenter.Instance.Close(); OpenServerActivityCenter.Instance.selectFuncOrder = (int)OpenServerActivityCenter.OSActivityType.ImpactRank; WindowCenter.Instance.Open(); } void OnClickFlashRushBtn()//限时抢购 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 14); } void OnClickCrossServerBtn()//跨服PK { int limitlv = FuncOpenLVConfig.Get(157).LimitLV; if (FuncOpen.Instance.IsFuncOpen(157) && TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross) { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } else { if (PlayerDatas.Instance.baseData.LV < limitlv) { SysNotifyMgr.Instance.ShowTip("CrossMatching14", limitlv); } else { SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross); } } } void OnClickOpenServiceBtn() { WindowCenter.Instance.Open(); } void OnClickNewYearBtn() { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } private void RefreshOSCEffect() { 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() { 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); } } }