miduo_client/Assets/ManagedResources/~Lua/Modules/Expert/ExpertPanel.lua

608 lines
28 KiB
Lua
Raw Normal View History

2020-05-09 13:31:21 +08:00
require("Base/BasePanel")
ExpertPanel = Inherit(BasePanel)
local this = ExpertPanel
local activeIndext = 0
local allActivityNum = 23
local imageSprite = {
{"r_huodong_qirianniu", "r_huodong_qirianniu_01"},
{"s_sbtj_anniu_2", "s_sbtj_anniu_1"},
{"t_tsec_anniu_02", "t_tsec_anniu_01"},
{"r_zhouka_zhoukaanniu_01", "r_zhouka_zhoukaanniu"},
{"r_daren_fxgz_02", "r_daren_fxgz"},
{"x_xytb_icon_02", "x_xytb_icon_01"},
{"r_huodong_leijichengzhianniu_01", "r_huodong_leijichengzhianniu"},
{"r_xianshiduihuan_anniu_01", "r_xianshiduihuan_anniu"},
{"r_daren_jinjieanniu_01", "r_daren_jinjieanniu"},
{"r_daren_tansuoanniu_01", "r_daren_tansuoanniu"},
{"r_daren_jingjianniu_01", "r_daren_jingjianniu"},
{"r_daren_zhuangbeianniu_01", "r_daren_zhuangbeianniu"},
{"r_daren_dianjinanniu_01", "r_daren_dianjinanniu"},
{"r_daren_fubenanniu_01", "r_daren_fubenanniu"},
{"r_daren_tilianniu_01", "r_daren_tilianniu"},
{"r_daren_fabaoanniu_01", "r_daren_fabaoanniu"},
{"r_daren_hunyinanniu_01", "r_daren_hunyinanniu"},
{"r_xingjichengzhangli_anniu02", "r_xingjichengzhangli_anniu01"},
{"r_daren_xunbaoanniu_01", "r_daren_xunbaoanniu"},
{"r_daren_tanbaoaniu_01", "r_daren_tanbaoaniu"},
{"r_daren_zhengmuanniu_01", "r_daren_zhengmuanniu"},
{"r_daren_mibaoanniu_01", "r_daren_mibaoanniu"},
{"r_huodong_shengji_02", "r_huodong_shengji_01"},
}
local tabBtns = {}
local expertRedPointGrid = {}--红点
--local LuckyTurn = require("Modules/LuckyTurnTable/LuckyTurnTablePanel")
local SevenDayGift = require("Modules/ActivityGift/View/SevenDayGift")
local LuckyCat = require("Modules/LuckyCat/View/LuckyCat")
local WeekCard = require("Modules/Expert/WeekCard")
local PatFace = require("Modules/Expert/PatFace")
local DiffMonsterBuy = require("Modules/Expert/DiffMonsterBuy")
local ExChange = require("Modules/Expert/ExChange")
local Expert = require("Modules/Expert/Expert")
local HeHeHe = require("Modules/Expert/HeroStarFeedPage")
local Expert_UpLv = require("Modules/Expert/Expert_UpLv")
local diffMonsterBuyData = {}--异妖直购数据
local rechargeCommodityConfig
local cursortingOrder
this.isPlayingLackCatAni = false--招财猫动画是否播放完毕
--初始化组件(用于子类重写)
function ExpertPanel:InitComponent()
cursortingOrder = 0
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
self.btnBack = Util.GetGameObject(self.gameObject, "tabs/btnBack")
self.mask=Util.GetGameObject(self.gameObject,"Mask")
self.selectBtn = Util.GetGameObject(self.gameObject, "tabs/rect/grid/selectBtn")
for i = 1, allActivityNum do
tabBtns[i] = Util.GetGameObject(self.gameObject, "tabs/rect/grid/Btn (" .. i .. ")")
tabBtns[i]:GetComponent("Image").sprite = Util.LoadSprite(imageSprite[i][1])
expertRedPointGrid[i] = Util.GetGameObject(tabBtns[i], "redPoint")
expertRedPointGrid[i]:SetActive(false)
end
self.endBtnGrid = Util.GetGameObject(self.gameObject, "tabs/rect/grid")
--各种限时活动注册
--this.luckyTurn = LuckyTurn.new(self, Util.GetGameObject(self.transform, "downLayout/LuckyTurnTablePanel"))
this.sevenDayPanel = SevenDayGift.new(self, Util.GetGameObject(self.transform, "downLayout/CourtesyDressPanel"))
this.luckyCatPanel = LuckyCat.new(self, Util.GetGameObject(self.transform, "downLayout/LuckyCatPanel"))
this.weekCard = WeekCard.new(self, Util.GetGameObject(self.transform, "downLayout/WeekCardGrid"))
this.patFace = PatFace.new(self, Util.GetGameObject(self.transform, "downLayout/patFaceGrid"))
this.diffMonsterBuy = DiffMonsterBuy.new(self, Util.GetGameObject(self.transform, "downLayout/DiffMonsterBuy"))
this.exChange = ExChange.new(self, Util.GetGameObject(self.transform, "downLayout/exChangeGrid"))
this.expert = Expert.new(self, Util.GetGameObject(self.transform, "downLayout/expertRewardGrid"))
this.heroStarGift = HeHeHe:New(self, Util.GetGameObject(self.transform, "downLayout/GrowShitGiftPage"))
this.upLvRewardGrid = Expert_UpLv.new(self, Util.GetGameObject(self.transform, "downLayout/UpLvRewardGrid"))
--this.luckyTurnTablePanel = Util.GetGameObject(this.gameObject, "downLayout/LuckyTurnTablePanel")
this.CourtesyDressPanel = Util.GetGameObject(this.gameObject, "downLayout/CourtesyDressPanel")
this.luckyCatPanelShow = Util.GetGameObject(this.gameObject, "downLayout/LuckyCatPanel")
this.weekCardPanel = Util.GetGameObject(this.gameObject, "downLayout/WeekCardGrid")
this.patFacePanel = Util.GetGameObject(this.gameObject, "downLayout/patFaceGrid")
this.diffMonsterBuyPanel = Util.GetGameObject(this.gameObject, "downLayout/DiffMonsterBuy")
this.exChangePanel = Util.GetGameObject(this.gameObject, "downLayout/exChangeGrid")
this.expertRewardGridPanel = Util.GetGameObject(this.gameObject, "downLayout/expertRewardGrid")
self.luckyCatAnimator = Util.GetGameObject(self.transform, "downLayout/LuckyCatPanel"):GetComponent("Animator")
self.effext1 = Util.GetGameObject(self.transform, "downLayout/patFaceGrid/UI_effect_PatFacePanel_obg1_normal_particle")
self.effext2 = Util.GetGameObject(self.transform, "downLayout/DiffMonsterBuy/UI_effect_PatFacePanel_obg2_normal_particle")
self.effext3 = Util.GetGameObject(self.transform, "downLayout/LuckyCatPanel/UI_effect_LuckyCatPanel_normal")
self.effext4 = Util.GetGameObject(self.transform, "downLayout/LuckyCatPanel/UI_effect_LuckyCatPanel_start")
self.leijichongzhiEffect = Util.GetGameObject(self.transform, "downLayout/expertRewardGrid/effect/leijichongzhiEffect")
end
--绑定事件(用于子类重写)
function ExpertPanel:BindEvent()
this.heroStarGift:BindEvent()
this.upLvRewardGrid:BindEvent()
Util.AddClick(self.btnBack, function()
--self:ClosePanel()
if this.isPlayingLackCatAni == false then
UIManager.OpenPanel(UIName.MainPanel)
end
end)
for i = 1, allActivityNum do
Util.AddClick(tabBtns[i], function()
if this.isPlayingLackCatAni == false then
self:ActivityRewardShow(i,true)
end
end)
end
BindRedPointObject(RedPointType.CourtesyDress_SevenDay, expertRedPointGrid[1])
BindRedPointObject(RedPointType.Expert_WeekCard, expertRedPointGrid[4])
BindRedPointObject(RedPointType.LuckyCat, expertRedPointGrid[5])
--BindRedPointObject(RedPointType.Expert_LuckyTurn, expertRedPointGrid[6])
BindRedPointObject(RedPointType.Expert_AccumulativeRecharge, expertRedPointGrid[7])
BindRedPointObject(RedPointType.Expert_UpStarExper, expertRedPointGrid[9])
BindRedPointObject(RedPointType.Expert_AdventureExper, expertRedPointGrid[10])
BindRedPointObject(RedPointType.Expert_AreaExper, expertRedPointGrid[11])
BindRedPointObject(RedPointType.Expert_EquipExper, expertRedPointGrid[12])
BindRedPointObject(RedPointType.Expert_GoldExper, expertRedPointGrid[13])
BindRedPointObject(RedPointType.Expert_FightExper, expertRedPointGrid[14])
BindRedPointObject(RedPointType.Expert_EnergyExper, expertRedPointGrid[15])
BindRedPointObject(RedPointType.Expert_Talisman, expertRedPointGrid[16])
BindRedPointObject(RedPointType.Expert_SoulPrint, expertRedPointGrid[17])
BindRedPointObject(RedPointType.HERO_STAR_GIFT, expertRedPointGrid[18])
BindRedPointObject(RedPointType.Expert_FindTreasure, expertRedPointGrid[19])
BindRedPointObject(RedPointType.Expert_LuckyTurn, expertRedPointGrid[20])
BindRedPointObject(RedPointType.Expert_Recruit, expertRedPointGrid[21])
BindRedPointObject(RedPointType.Expert_SecretBox, expertRedPointGrid[22])
BindRedPointObject(RedPointType.Expert_UpLv, expertRedPointGrid[23])
end
--添加事件监听(用于子类重写)
function ExpertPanel:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityOpenOrClose, self.RefreshActivityBtn, self)
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityProgressStateChange, self.RefreshActivityProgress, self)
Game.GlobalEvent:AddEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, self.RefreshActivityProgress, self)
Game.GlobalEvent:AddEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.RechargeSuccessFunc, self)
Game.GlobalEvent:AddEvent(GameEvent.PatFace.PatFaceHaveGrowGift, self.FreshGiftState, self)
--this.luckyTurn.AddListener()
this.sevenDayPanel.AddListener()
this.luckyCatPanel.AddListener()
this.heroStarGift:AddListener()
this.upLvRewardGrid:AddListener()
end
--移除事件监听(用于子类重写)
function ExpertPanel:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityOpenOrClose, self.RefreshActivityBtn, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityProgressStateChange, self.RefreshActivityProgress, self)
Game.GlobalEvent:RemoveEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, self.RefreshActivityProgress, self)
Game.GlobalEvent:RemoveEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.RechargeSuccessFunc, self)
Game.GlobalEvent:RemoveEvent(GameEvent.PatFace.PatFaceHaveGrowGift, self.FreshGiftState, self)
--this.luckyTurn.RemoveListener()
this.sevenDayPanel.RemoveListener()
this.luckyCatPanel.RemoveListener()
this.heroStarGift:RemoveListener()
this.upLvRewardGrid:RemoveListener()
end
local defaultIndex = 0
local TreasureTypeVal = nil
--界面打开时调用(用于子类重写)
function ExpertPanel:OnOpen(_defaultIndex,_TreasureType)
this.isPlayingLackCatAni = false
defaultIndex = 0
if _defaultIndex then
defaultIndex = _defaultIndex
end
TreasureTypeVal = nil
if _TreasureType then
TreasureTypeVal = _TreasureType
end
if UIManager.IsOpen(UIName.RoleInfoPanel) then
UIManager.ClosePanel(UIName.RoleInfoPanel)
end
end
function ExpertPanel:FreshGiftState()
tabBtns[18]:SetActive(OperatingManager.IsHeroGiftActive())
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function ExpertPanel:OnShow()
if defaultIndex > 0 then
self:SetOpenActiveBtn()
else
defaultIndex = self:SetOpenActiveBtn()
defaultIndex = self:GetPriorityIndex(defaultIndex)
end
self:RefreshActivityShow()
if defaultIndex > 0 then
self:ActivityRewardShow(defaultIndex,true)
else
PopupTipPanel.ShowTip("没有活动开启!")
end
self:BtnGridMovePos()
end
function ExpertPanel:BtnGridMovePos()
local activeBtnNum = 0
local movedefaultIndex = 0
for idx, operateItem in ipairs(tabBtns) do
if operateItem.activeSelf then
activeBtnNum = activeBtnNum + 1
end
if defaultIndex == idx then
movedefaultIndex = activeBtnNum
end
end
if movedefaultIndex - 5 > 0 and activeBtnNum > 5 then
self.endBtnGrid.transform.localPosition = self.endBtnGrid.transform.localPosition +Vector3.New(-(movedefaultIndex - 5)*184-50,0,0)
end
end
function ExpertPanel:OnSortingOrderChange()
this.heroStarGift:OnSortingOrderChange(self.sortingOrder)
this.upLvRewardGrid:OnSortingOrderChange(self.sortingOrder)
Util.AddParticleSortLayer( self.effext1, self.sortingOrder - cursortingOrder)
Util.AddParticleSortLayer( self.effext2, self.sortingOrder - cursortingOrder)
Util.AddParticleSortLayer( self.effext3, self.sortingOrder - cursortingOrder)
Util.AddParticleSortLayer( self.effext4, self.sortingOrder - cursortingOrder)
Util.AddParticleSortLayer( self.leijichongzhiEffect, self.sortingOrder - cursortingOrder)
cursortingOrder = self.sortingOrder
--特效穿透特殊处理
if activeIndext == ExperType.SevenDay then
this.sevenDayPanel.OnSortingOrderChange(self,self.sortingOrder)
else
this.expert.OnSortingOrderChange(self,self.sortingOrder)
end
end
--活动奖励1
function ExpertPanel:ActivityRewardShow(index,isPlayLuckCat)
--Log(" index " .. index)
--Log(" isPlayLuckCat " .. tostring(isPlayLuckCat))
this.weekCardPanel:SetActive(false)
this.expertRewardGridPanel:SetActive(false)
this.exChangePanel:SetActive(false)
this.patFacePanel:SetActive(false)
this.diffMonsterBuyPanel:SetActive(false)
--this.luckyTurnTablePanel:SetActive(false)
this.CourtesyDressPanel:SetActive(false)
this.luckyCatPanelShow:SetActive(false)
this.heroStarGift.gameObject:SetActive(index == ExperType.StarGrowGift)
this.upLvRewardGrid.gameObject:SetActive(index == ExperType.UpLv)
if index ~= ExperType.StarGrowGift then
this.heroStarGift:OnClose()
end
if index ~= ExperType.UpLv then
this.upLvRewardGrid:OnClose()
end
if index ~= ExperType.LuckyCat then
this.luckyCatPanel:OnClose()
end
activeIndext = index
if index == ExperType.WeekCard then
--周卡
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
this.weekCardPanel:SetActive(true)
self:ShowActivityData(index)
this.weekCard.OnShow()
elseif index == ExperType.ExChange then
--限时兑换活动
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.ExChange })
this.exChangePanel:SetActive(true)
self:ShowActivityData(index)
this.exChange.OnShow(self,self.sortingOrder)
elseif index == ExperType.PatFace then
--拍脸
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Recruit})
this.patFacePanel:SetActive(true)
self:ShowActivityData(index)
this.patFace.OnShow()
elseif index == ExperType.DiffMonster then
--拍脸2 天神恩赐
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
this.diffMonsterBuyPanel:SetActive(true)
self:ShowActivityData(index)
this.diffMonsterBuy.OnShow()
--elseif index == ExperType.LuckyTurn then
--幸运转盘
--this.luckyTurnTablePanel:SetActive(true)
--self:ShowActivityData(index)
--this.luckyTurn.OnShow(self,this.UpView,this,TreasureTypeVal)
elseif index == ExperType.SevenDay then
--七日登陆
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
this.CourtesyDressPanel:SetActive(true)
self:ShowActivityData(index)
this.sevenDayPanel.OnShow(self,self.sortingOrder)
elseif index == ExperType.LuckyCat then
--福星高照
this.luckyCatPanelShow:SetActive(true)
self:ShowActivityData(index)
this.luckyCatPanel.OnShow(self,this.UpView,this)
self:LuckyCatAnimatorPlay(isPlayLuckCat)
elseif index == ExperType.StarGrowGift then
--- 什么乱七八糟的成长礼
if OperatingManager.GetHeroRedState() == 1 then
OperatingManager.SetHeroRedState(0)
CheckRedPointStatus(RedPointType.HERO_STAR_GIFT)
end
self:ShowActivityData(index)
this.heroStarGift:OnShow()
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
elseif index == ExperType.UpLv then
self:ShowActivityData(index)
this.upLvRewardGrid:OnShow()
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
else
--达人
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
this.expertRewardGridPanel:SetActive(true)
self:ShowActivityData(index)
this.expert.OnShow(self, index,self.sortingOrder)
self.leijichongzhiEffect:SetActive( index == ExperType.AddUp )
end
end
function ExpertPanel:ShowActivityData(activityType)
self:SetSelectBtn(activityType)
end
function ExpertPanel:SetSelectBtn(index)
self.selectBtn.transform:SetParent(tabBtns[index].transform)
self.selectBtn.transform.localScale = Vector3.one
self.selectBtn.transform.localPosition = Vector3.zero;
self.selectBtn:GetComponent("Image").sprite = Util.LoadSprite(imageSprite[index][2])
end
function ExpertPanel:RefreshActivityBtn(context)
Log("达人开启关闭后端推送 " .. context.type .. " " .. context.status)
if context.type == ActivityTypeDef.AdventureExper then
tabBtns[10]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.AreaExper then
tabBtns[11]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.UpStarExper then
tabBtns[9]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.EquipExper then
tabBtns[12]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.GoldExper then
tabBtns[13]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.FightExper then
tabBtns[14]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.EnergyExper then
tabBtns[15]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.Talisman then
tabBtns[16]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.SoulPrint then
tabBtns[17]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.AccumulativeRechargeExper then
tabBtns[7]:SetActive(context.status == 1)
--elseif context.type == ActivityTypeDef.LuckyTurnTable_One then
-- tabBtns[6]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.SevenDayRegister then
tabBtns[1]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.LuckyCat then
tabBtns[5]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.FindTreasureExper then
tabBtns[19]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.LuckyTurnExper then
tabBtns[20]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.RecruitExper then
tabBtns[21]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.SecretBoxExper then
tabBtns[22]:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.UpLvAct then
tabBtns[23]:SetActive(context.status == 1)
end
tabBtns[6]:SetActive(false)--探宝长久关闭
defaultIndex = self:SetOpenActiveBtn()
defaultIndex = self:GetPriorityIndex(defaultIndex)
if defaultIndex > 0 then
self:ActivityRewardShow(defaultIndex,false)
else
PopupTipPanel.ShowTip("没有活动开启!")
UIManager.OpenPanel(UIName.MainPanel)
end
end
--客户端自己Show刷新
function ExpertPanel:RefreshActivityShow()
tabBtns[6]:SetActive(false)--探宝长久关闭
tabBtns[1]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SevenDayRegister))
tabBtns[5]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyCat))
--tabBtns[6]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyTurnTable_One))
tabBtns[7]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.AccumulativeRechargeExper))
tabBtns[9]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.UpStarExper))
tabBtns[10]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.AdventureExper))
tabBtns[11]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.AreaExper))
tabBtns[12]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.EquipExper))
tabBtns[13]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.GoldExper))
tabBtns[14]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FightExper))
tabBtns[15]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.EnergyExper))
tabBtns[16]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.Talisman))
tabBtns[17]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SoulPrint))
tabBtns[18]:SetActive(OperatingManager.IsHeroGiftActive())
tabBtns[19]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FindTreasureExper))
tabBtns[20]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyTurnExper))
tabBtns[21]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.RecruitExper))
tabBtns[22]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SecretBoxExper))
tabBtns[23]:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.UpLvAct))
end
--事件刷新活动进度
function ExpertPanel:RefreshActivityProgress()
self:ActivityRewardShow(activeIndext,false)
end
--界面关闭时调用(用于子类重写)
function ExpertPanel:OnClose()
if PatFaceManager.timer then
PatFaceManager.timer:Stop()
PatFaceManager.timer = nil
end
--this.luckyTurn.OnClose()
this.exChange.OnClose()
this.heroStarGift:OnClose()
this.upLvRewardGrid:OnClose()
defaultIndex = activeIndext
this.isPlayingLackCatAni = false
end
--界面销毁时调用(用于子类重写)
function ExpertPanel:OnDestroy()
ClearRedPointObject(RedPointType.CourtesyDress_SevenDay)
ClearRedPointObject(RedPointType.Expert_WeekCard)
ClearRedPointObject(RedPointType.LuckyCat)
--ClearRedPointObject(RedPointType.Expert_LuckyTurn)
ClearRedPointObject(RedPointType.Expert_AccumulativeRecharge)
ClearRedPointObject(RedPointType.Expert_UpStarExper)
ClearRedPointObject(RedPointType.Expert_AdventureExper)
ClearRedPointObject(RedPointType.Expert_AreaExper)
ClearRedPointObject(RedPointType.Expert_EquipExper)
ClearRedPointObject(RedPointType.Expert_GoldExper)
ClearRedPointObject(RedPointType.Expert_FightExper)
ClearRedPointObject(RedPointType.Expert_EnergyExper)
ClearRedPointObject(RedPointType.Expert_Talisman)
ClearRedPointObject(RedPointType.Expert_FindTreasure)
ClearRedPointObject(RedPointType.Expert_LuckyTurn)
ClearRedPointObject(RedPointType.Expert_Recruit)
ClearRedPointObject(RedPointType.Expert_SecretBox)
ClearRedPointObject(RedPointType.Expert_UpLv)
ClearRedPointObject(RedPointType.Expert_SoulPrint)
ClearRedPointObject(RedPointType.HERO_STAR_GIFT)
if LiveName then
poolManager:UnLoadLive(LiveName, LiveGO)
LiveName = nil
end
this.sevenDayPanel.OnDestroy()
this.luckyCatPanel.OnDestroy()
this.heroStarGift:OnDestroy()
this.upLvRewardGrid:OnDestroy()
SubUIManager.Close(this.UpView)
end
--获取开启的活动 和 隐藏显示按钮
function ExpertPanel:SetOpenActiveBtn()
local defaultIndex = 0
-- 七日
local curActiveData = not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SevenDayRegister)
if curActiveData then
if defaultIndex == 0 then
defaultIndex = 1
end
tabBtns[1]:SetActive(true)
else
tabBtns[1]:SetActive(false)
end
--拍脸
local patFaceAllData = nil--{ConfigManager.GetConfigData(ConfigName.LoginPosterConfig,1)}--PatFaceManager.GetPatFaceAllDataTabs()
if RecruitManager.isTenRecruit == 0 then
patFaceAllData = { ConfigManager.GetConfigData(ConfigName.LoginPosterConfig, 1) }
end
if patFaceAllData and #patFaceAllData > 0 then
tabBtns[ExperType.PatFace]:SetActive(true)
if defaultIndex == 0 then
defaultIndex = ExperType.PatFace
Log("defaultIndex 1 "..ExperType.PatFace)
end
else
tabBtns[ExperType.PatFace]:SetActive(false)
end
--拍脸 异妖直购
diffMonsterBuyData = nil
for i, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.LoginPosterConfig)) do
if v.Type == 2 then
--异妖直购特殊处理
if v.OpenRules[1] == 1 then
if PlayerManager.level >= v.OpenRules[2] and PlayerManager.level <= v.CloseRules[2] then
local conFigData = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig, v.ShopId)
local shopItemData = OperatingManager.GetGiftGoodsInfo(conFigData.Type, v.ShopId)
if shopItemData and diffMonsterBuyData == nil then
diffMonsterBuyData = v
tabBtns[ExperType.DiffMonster]:SetActive(true)
if defaultIndex == 0 then
defaultIndex = ExperType.DiffMonster
Log("defaultIndex 2 "..ExperType.DiffMonster)
end
end
end
end
end
end
if diffMonsterBuyData == nil then
tabBtns[ExperType.DiffMonster]:SetActive(false)
end
--周卡
local weekCardData = OperatingManager.GetGiftGoodsInfo(GoodsTypeDef.WeekCard, 12)
if weekCardData then
if weekCardData.endTime - GetTimeStamp() <= 0 then
tabBtns[ExperType.WeekCard]:SetActive(false)
else
tabBtns[ExperType.WeekCard]:SetActive(true)
if defaultIndex == 0 then
defaultIndex = ExperType.WeekCard
Log("defaultIndex 3 "..ExperType.WeekCard)
end
end
else
tabBtns[ExperType.WeekCard]:SetActive(false)
end
--福星高照
local curActiveData =not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyCat)
if curActiveData then
if defaultIndex == 0 then
defaultIndex = 5
end
tabBtns[5]:SetActive(true)
else
tabBtns[5]:SetActive(false)
end
--幸运探宝
--local curActiveData= not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyTurnTable_One)
--if curActiveData then
-- if defaultIndex == 0 then
-- defaultIndex = 6
-- end
-- tabBtns[6]:SetActive(true)
--else
-- tabBtns[6]:SetActive(false)
--end
--所有达人
for i, v in pairs(numExChange) do
local curActiveData = ActivityGiftManager.GetActivityTypeInfo(v)
if curActiveData then
if defaultIndex == 0 then
defaultIndex = i
end
tabBtns[i]:SetActive(true)
else
tabBtns[i]:SetActive(false)
end
end
--限时兑换
local LimitExchange = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.LimitExchange)
if LimitExchange then
if LimitExchange.endTime - GetTimeStamp() <= 0 then
tabBtns[ExperType.ExChange]:SetActive(false)
else
tabBtns[ExperType.ExChange]:SetActive(true)
if defaultIndex == 0 then
defaultIndex = ExperType.ExChange
end
end
else
tabBtns[ExperType.ExChange]:SetActive(false)
end
--星级成长礼
if OperatingManager.IsHeroGiftActive() then
tabBtns[ExperType.StarGrowGift]:SetActive(true)
end
return defaultIndex
end
function ExpertPanel:GetPriorityIndex(defaultIndex)
local index = defaultIndex
for idx, operateItem in ipairs(tabBtns) do
if operateItem.activeSelf and Util.GetGameObject(operateItem, "redPoint").activeSelf then
index = idx
break
end
end
return index
end
--直购外网刷新界面
function ExpertPanel:RechargeSuccessFunc(id)
FirstRechargeManager.RefreshAccumRechargeValue(id)
OperatingManager.RefreshGiftGoodsBuyTimes(GoodsTypeDef.DirectPurchaseGift, id)
if id == 12 then
--周卡直购
this.weekCard.OnShow()
elseif id == rechargeCommodityConfig.Id then
--异妖直购
this.diffMonsterBuy.OnShow()
end
end
--招财猫其实动画特效播放(单击招财猫才播放)
function ExpertPanel:LuckyCatAnimatorPlay(isPlayLuckCat)
if isPlayLuckCat then
this.isPlayingLackCatAni = true
self.luckyCatAnimator.enabled = true
self.effext4:SetActive(true)
Timer.New(function ()
self.luckyCatAnimator.enabled = false
self.effext4:SetActive(false)
this.isPlayingLackCatAni = false
end, 1.5):Start()
end
end
return ExpertPanel