//-------------------------------------------------------- // [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(); } } CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel(); } } WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } AddUpRechargeModel addUpModel { 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_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().OpenCelestialPalaceWin(); }); m_ForeverCard.SetListener(() => { WindowCenter.Instance.Open(); }); m_XY.SetListener(() => { WindowCenter.Instance.Open(); }); m_LHD.SetListener(() => { WindowCenter.Instance.Open(); }); m_YS.SetListener(() => { WindowCenter.Instance.Open(); }); m_LQ.SetListener(() => { WindowCenter.Instance.Open(); }); m_XMGCZ.SetListener(() => { WindowCenter.Instance.Open(); }); } 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(); } void OpenService()//开服活动 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void OpenHolidayWishes() //节日祝福 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(); } void ShoppingButton()//商城按钮 { if (FuncOpen.Instance.IsFuncOpen(79)) { HighSettingFadeInFadeOut.SetAutoCloseTimer(); if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == 73) { ModelCenter.Instance.GetModel().OpenStoreWin(false, 4, true); } else { ModelCenter.Instance.GetModel().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(false, 1); } else { WindowCenter.Instance.Open(false, 3); } } void LootPreciousButton()//夺宝 { HighSettingFadeInFadeOut.SetAutoCloseTimer(); WindowCenter.Instance.Open(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(true); } break; //case 2: // WindowCenter.Instance.Open(); // break; case 3: WindowCenter.Instance.Open(false, 0); break; } } 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(162).LimitLV; if (FuncOpen.Instance.IsFuncOpen(162) || TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross) { WindowCenter.Instance.Open(); } 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(); } 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); } } }