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

199 lines
7.4 KiB
Lua
Raw Normal View History

2022-09-23 15:24:10 +08:00

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 },
[2] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "超级GM" ,img = "gm_shuachong_cjGM_01_zh",id=2202 },
[3] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "神级GM" ,img = "gm_shuachong_sjGM_01_zh",id=2203 },
[4] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "无上GM",img = "gm_shuachong_wsGM_01_zh",id=2204 },
}
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.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.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.payTxt=Util.GetGameObject(self.gameObject, "bg1/bg2/btn_buy/Text"):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, nil, 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..""
elseif state==1 then
self.payTxt.text="领取"
elseif state==2 then
self.payTxt.text="已领取"
end
LogError("len=============="..len)
Util.AddOnceClick(self.btn_buy,function()
if state==0 then
PayManager.Pay(recharge.Id, function()
-- self.curAllMonthCardData = MonthCardManager.GetMonthCardData()
self.payTxt.text="领取"
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)
2022-10-28 15:45:53 +08:00
local list=recharge.OpenPrivilege
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)
2022-09-23 15:24:10 +08:00
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/10000 .."%"
end
LogError("lv=============================="..lv)
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()
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