miduo_client/Assets/ManagedResources/~Lua/Modules/Operating/GMShuaChongTeQuan.lua

250 lines
10 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require("Base/BasePanel")
GMShuaChongTeQuan = Inherit(BasePanel)
-- local GMShuaChongTeQuan = {}
self=GMShuaChongTeQuan
local sortingOrder = 0
local TabBox = require("Modules/Common/TabBox")
local _TabData={ [1] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "刷冲GM",img = "gm_shuachong_scGM_01_zh",id=2201,scale=0,all=0 },
[2] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "超级GM" ,img = "gm_shuachong_cjGM_01_zh",id=2202,scale=6,all=30 },
[3] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "神级GM" ,img = "gm_shuachong_sjGM_01_zh",id=2203,scale=5,all=176 },
[4] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "无上GM",img = "gm_shuachong_wsGM_01_zh",id=2204,scale=2,all=1640 },
}
-- function GMShuaChongTeQuan:New(gameObject)
-- local b = {}
-- b.gameObject = gameObject
-- b.transform = gameObject.transform
-- setmetatable(b, { __index = GMShuaChongTeQuan })
-- return b
-- end
local TabAdapter=nil
local SwitchView=nil
local infoList={}
local rewardList={}
local dayList={}
--初始化组件(用于子类重写)
function GMShuaChongTeQuan:InitComponent()
self.spLoader = SpriteLoader.New()
self.btnBack = Util.GetGameObject(self.transform, "backBtn")
self.grid = Util.GetGameObject(self.gameObject, "grid")
self.titleImg=Util.GetGameObject(self.gameObject, "bg1/shenzuntequanName"):GetComponent("Image")
self.btn_buy=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy")
self.hintTxt=Util.GetGameObject(self.gameObject, "bg1/bg2/hintTxt"):GetComponent("Text")
self.hintTxt3=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/hint2Txt")
self.tabBox = Util.GetGameObject(self.gameObject, "TabBox")
self.infoGrid=Util.GetGameObject(self.gameObject, "bg1/bg2/info/tequan")
self.infoPre=Util.GetGameObject(self.gameObject, "bg1/bg2/tequanText")
self.rewardGrid=Util.GetGameObject(self.gameObject, "bg1/bg2/Reward")
self.dayGrid=Util.GetGameObject(self.gameObject, "bg1/bg2/dayReward")
self.Scrollbar=Util.GetGameObject(self.gameObject, "bg1/bg2/Scrollbar"):GetComponent("Scrollbar")
self.payTxt=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/Text"):GetComponent("Text")
self.scaleImg=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/Image")
self.hint2Txt=Util.GetGameObject(self.gameObject, "bg1/bg2/Rewardbg/Text"):GetComponent("Text")
self.scaleTxt=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/scaleTxt"):GetComponent("Text")
self.oldPriceTxt=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/old_buy"):GetComponent("Text")
local rootHight = self.infoGrid.transform.rect.height
local width = self.infoGrid.transform.rect.width
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.infoGrid.transform,self.infoPre, self.Scrollbar, Vector2.New(width, rootHight), 1, 1, Vector2.New(0,0))
self.ScrollView.moveTween.MomentumAmount = 1
self.ScrollView.moveTween.Strength = 2
self.ScrollView.elastic = false
TabAdapter=function(tab, index, status)
local tabLab = Util.GetGameObject(tab, "Text")
Util.GetGameObject(tab,"Image"):GetComponent("Image").sprite = self.spLoader:LoadSprite(_TabData[index][status])
tabLab:GetComponent("Text").text = _TabData[index].name
end
--切换视图
SwitchView=function(_index)
self.titleImg.sprite=self.spLoader:LoadSprite(_TabData[_index].img)
local activityId=_TabData[_index].id
local recharge=ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig,activityId)
local len= #recharge.OpenPrivilege
local lv=recharge.BTVIPlevel[1][2]
local len=#recharge.OpenPrivilege
local mission=ActivityGiftManager.GetActivityInfo(ActivityTypeDef.shuaChongTeQuan,activityId)
local state=mission.state
if state==0 then
self.payTxt.text=recharge.Price..""
self.hint2Txt.gameObject:SetActive(true)
self.hintTxt3:SetActive(true)
self.scaleTxt.gameObject:SetActive(true)
self.oldPriceTxt.gameObject:SetActive(true)
self.scaleImg:SetActive(true)
self.hint2Txt.text="已累计"..mission.progress.."天奖励奖励最多累计30天"
elseif state==1 then
self.payTxt.text="领取"
self.hintTxt3:SetActive(false)
self.hint2Txt.gameObject:SetActive(false)
self.scaleTxt.gameObject:SetActive(false)
self.scaleImg:SetActive(false)
self.oldPriceTxt.gameObject:SetActive(false)
elseif state==2 then
self.payTxt.text="已领取"
self.hint2Txt.gameObject:SetActive(false)
self.scaleTxt.gameObject:SetActive(false)
self.scaleImg:SetActive(false)
self.hintTxt3:SetActive(false)
self.oldPriceTxt.gameObject:SetActive(false)
end
self.oldPriceTxt.text=_TabData[_index].all ..""
self.scaleTxt.text=_TabData[_index].scale..""
if _index>1 then
local lastId=_TabData[_index-1].id
local lastmiss=ActivityGiftManager.GetActivityInfo(ActivityTypeDef.shuaChongTeQuan,lastId)
local lastState=lastmiss.state
if lastState==0 then
self.btn_buy:SetActive(false)
self.hintTxt.gameObject:SetActive(true)
self.hintTxt.text="开通".._TabData[_index-1].name.."解锁购买"
else
self.btn_buy:SetActive(true)
self.hintTxt.gameObject:SetActive(false)
end
else
self.hintTxt.gameObject:SetActive(false)
self.btn_buy:SetActive(true)
end
Util.AddOnceClick(self.btn_buy,function()
if state==0 then
PayManager.Pay(recharge.Id, function()
-- self.curAllMonthCardData = MonthCardManager.GetMonthCardData()
self.payTxt.text="领取"
self.hintTxt3:SetActive(false)
self.hint2Txt.gameObject:SetActive(false)
self.scaleTxt.gameObject:SetActive(false)
self.scaleImg:SetActive(false)
self.oldPriceTxt.gameObject:SetActive(false)
state=1
end)
elseif state==1 then
NetManager.GetActivityRewardRequest(activityId,ActivityTypeDef.shuaChongTeQuan, function(_drop)
UIManager.OpenPanel(UIName.RewardItemPopup, _drop, 1)
self.payTxt.text="已领取"
state=2
end)
end
end)
local list=recharge.PrivilegeInfor
local newList={}
for i = 1, #list do
local config=ConfigManager.GetConfigData(ConfigName.PrivilegeTypeConfig,list[i])
if config.isShowName==1 then
table.insert(newList,list[i])
end
end
self.ScrollView:SetData(newList, function (index, go)
self:SingleDataShow(go,newList[index],lv)
end,false)
for i = 1, #rewardList do
rewardList[i].gameObject:SetActive(false)
end
if recharge.BaseReward then
for j = 1, #recharge.BaseReward do
if rewardList and rewardList[j] then
rewardList[j]:OnOpen(false, recharge.BaseReward[j], 0.8)
rewardList[j].gameObject:SetActive(true)
else
local itemInfo = SubUIManager.Open(SubUIConfig.ItemView,self.rewardGrid.transform)
itemInfo:OnOpen(false, recharge.BaseReward[j],0.8)
table.insert(rewardList,itemInfo)
end
end
end
for i = 1, #dayList do
dayList[i].gameObject:SetActive(false)
end
for j = 1, #recharge.ExtraReward do
if dayList and dayList[j] then
dayList[j]:OnOpen(false, recharge.ExtraReward[j],0.8)
dayList[j].gameObject:SetActive(true)
else
local itemInfo = SubUIManager.Open(SubUIConfig.ItemView, self.dayGrid.transform)
itemInfo:OnOpen(false, recharge.ExtraReward[j], 0.8)
table.insert(dayList,itemInfo)
end
end
end
self.TabCtrl = TabBox.New()
self.TabCtrl:SetTabAdapter(TabAdapter)
self.TabCtrl:SetChangeTabCallBack(SwitchView)
self.TabCtrl:Init(self.tabBox, _TabData, 1)
end
function GMShuaChongTeQuan:SingleDataShow(item,data,lv)
local privilege=ConfigManager.GetConfigData(ConfigName.PrivilegeTypeConfig,data)
local num=""
if privilege.Condition[lv+1] then
num=privilege.Condition[lv+1][2]
if num==-1 then
num="无限"
end
end
if privilege.IfFloat==2 then
num=num/100 .."%"
end
if privilege.Type==1 then
item:GetComponent("Text").text =string.format(privilege.Name,num)
else
item:GetComponent("Text").text =privilege.Name
end
end
--绑定事件(用于子类重写)
function GMShuaChongTeQuan:BindEvent()
Util.AddClick(self.btnBack, function()
self:ClosePanel()
end)
end
--添加事件监听(用于子类重写)
function GMShuaChongTeQuan:AddListener()
end
--移除事件监听(用于子类重写)
function GMShuaChongTeQuan:RemoveListener()
end
--界面打开时调用(用于子类重写)
function GMShuaChongTeQuan:OnOpen(_activityConfig,_index,parent)
self.actConfig = _activityConfig
self.pageIndex = _index
self.parent = parent
end
function GMShuaChongTeQuan:OnSortingOrderChange()
end
-- 打开,重新打开时回调
function GMShuaChongTeQuan:OnShow(_sortingOrder)
-- self.gameObject:SetActive(true)
sortingOrder = _sortingOrder
end
local gifts={}
local activityData={}
-- 妖晶数量显示
--界面关闭时调用(用于子类重写)
function GMShuaChongTeQuan:OnClose()
-- self.gameObject:SetActive(false)
end
--界面销毁时调用(用于子类重写)
function GMShuaChongTeQuan:OnDestroy()
self.spLoader:Destroy()
SubUIManager.Close(self.ScrollView)
rewardList={}
dayList={}
end
return GMShuaChongTeQuan