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

158 lines
6.0 KiB
Lua
Raw Normal View History

2021-04-21 13:12:04 +08:00
local Expert_UpLv = quick_class("Expert_UpLv")
2020-05-09 13:31:21 +08:00
local this = Expert_UpLv
local itemList = {}--优化itemView使用
local activityRewardConfig
local activeData
local activityId = 43
2021-01-15 22:11:38 +08:00
local isPlayAnim = true
2020-05-09 13:31:21 +08:00
function Expert_UpLv:ctor(mainPanel, gameObject)
self.mainPanel = mainPanel
self.gameObject = gameObject
self:InitComponent(gameObject)
self:BindEvent()
end
--初始化组件(用于子类重写)
function Expert_UpLv:InitComponent(gameObject)
2021-04-21 13:12:04 +08:00
this.spLoader = SpriteLoader.New()
2020-05-09 13:31:21 +08:00
this.timeTextExpertgo = Util.GetGameObject(gameObject, "timeText")
this.timeTextExpert = Util.GetGameObject(gameObject, "timeText"):GetComponent("Text")
this.titleTextExpert = Util.GetGameObject(gameObject, "Image/Text")
this.expertRewardGridGo = Util.GetGameObject(gameObject, "rect")
this.rewardPre = Util.GetGameObject(gameObject, "rewardPre")
local v2 = this.expertRewardGridGo:GetComponent("RectTransform").rect
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.expertRewardGridGo.transform,
this.rewardPre, nil, Vector2.New(-v2.x*2, -v2.y*2), 1, 1, Vector2.New(50,15))
this.ScrollView.moveTween.MomentumAmount = 1
this.ScrollView.moveTween.Strength = 1
end
--绑定事件(用于子类重写)
function Expert_UpLv:BindEvent()
end
--添加事件监听(用于子类重写)
function Expert_UpLv:AddListener()
end
--移除事件监听(用于子类重写)
function Expert_UpLv:RemoveListener()
end
local sortingOrder = 0
--界面打开时调用(用于子类重写)
function Expert_UpLv:OnOpen()
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function Expert_UpLv:OnShow(index,_sortingOrder)
2021-01-15 22:11:38 +08:00
isPlayAnim = true
2020-05-09 13:31:21 +08:00
sortingOrder = _sortingOrder
2021-01-15 22:11:38 +08:00
this:Refresh(index)
end
function Expert_UpLv:Refresh(index)
activityRewardConfig = ConfigManager.GetConfig(ConfigName.ActivityRewardConfig)
2020-05-09 13:31:21 +08:00
ActivityGiftManager.RefreshAcitvityData({activityId},function ()
2021-02-25 12:04:31 +08:00
this:OnShowData(index,true,true)
2020-05-09 13:31:21 +08:00
end)
end
function Expert_UpLv:OnSortingOrderChange(cursortingOrder)
for i, v in pairs(itemList) do
for j = 1, #v do
v[j]:SetEffectLayer(cursortingOrder)
end
end
end
2021-02-25 12:04:31 +08:00
function Expert_UpLv:OnShowData(isTop,isAni)
local activityId = ActivityGiftManager.GetOpenExpertIdByActivityType(ActivityTypeDef.UpLvAct)
if activityId <= 0 then
return
end
local globalActive = ConfigManager.GetConfigData(ConfigName.GlobalActivity,activityId)
2020-05-09 13:31:21 +08:00
activeData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.UpLvAct)
PatFaceManager.RemainTimeDown(this.timeTextExpertgo,this.timeTextExpert,activeData.endTime - GetTimeStamp())
table.sort(activeData.mission, function(a,b)
if a.state == b.state then
return a.missionId < b.missionId
else
return a.state < b.state
end
end)
this.ScrollView:SetData(activeData.mission, function (index, go)
this.SingleItemDataShow(go, activeData.mission[index])
2021-03-19 10:33:37 +08:00
end,isTop,not isAni)
2021-01-15 22:11:38 +08:00
if isPlayAnim then
SecTorPlayAnimByScroll(self.ScrollView)
isPlayAnim = false
end
2020-05-09 13:31:21 +08:00
end
function this.SingleItemDataShow(go,data)
local activityRewardGo = go
--LogError("data.missionId "..data.missionId)
2021-01-15 22:11:38 +08:00
-- if isPlayAnim then
-- activityRewardGo:SetActive(false)
-- else
-- activityRewardGo:SetActive(true)
-- end
2020-05-09 13:31:21 +08:00
local curConfigData = activityRewardConfig[data.missionId]
if not itemList[go.name] then
itemList[go.name] = {}
end
for i = 1, #curConfigData.Reward do
if itemList[go.name][i] then
itemList[go.name][i]:OnOpen(false, curConfigData.Reward[i], 0.8,false,false,false,sortingOrder)
else
itemList[go.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(go, "content").transform)
itemList[go.name][i]:OnOpen(false, curConfigData.Reward[i], 0.8,false,false,false,sortingOrder)
end
end
local titleText = Util.GetGameObject(activityRewardGo, "titleImage/titleText"):GetComponent("Text") titleText.text =
2021-03-02 16:53:12 +08:00
Language[10578]..curConfigData.Values[2][1]..Language[10579].. activeData.value .."/"..curConfigData.Values[2][1] ..")"
2020-05-09 13:31:21 +08:00
local lingquButton = Util.GetGameObject(activityRewardGo.gameObject, "lingquButton")
Util.GetGameObject(lingquButton.gameObject, "redPoint"):SetActive(false)
local qianwangButton = Util.GetGameObject(activityRewardGo.gameObject, "qianwangButton")
local getFinishText = Util.GetGameObject(activityRewardGo.gameObject, "getFinishText")
local getRewardProgress = Util.GetGameObject(activityRewardGo.gameObject, "getRewardProgress")
--限时累计活动特殊数值读取处理
lingquButton:SetActive(data.state == 0 and activeData.value >= curConfigData.Values[2][1])
qianwangButton:SetActive(data.state == 0 and activeData.value < curConfigData.Values[2][1])
getFinishText:SetActive(data.state == 1)
Util.SetGray(getFinishText,data.state == 1)
2020-05-09 13:31:21 +08:00
getRewardProgress:SetActive(data.state ~= 1)
2021-03-02 16:53:12 +08:00
getRewardProgress:GetComponent("Text").text = Language[10580]..data.progress
2020-06-03 19:09:01 +08:00
local isZero = data.progress <= 0
Util.SetGray(getRewardProgress, isZero)
Util.SetGray(lingquButton, isZero)
lingquButton:GetComponent("Button").enabled = not isZero
2020-05-09 13:31:21 +08:00
Util.AddOnceClick(qianwangButton, function()
JumpManager.GoJump(curConfigData.Jump[1])
end)
Util.AddOnceClick(lingquButton, function()
--Log("达人领取奖励 "..data.missionId.." "..activityId)
NetManager.GetActivityRewardRequest(data.missionId, activityId, function(drop)
UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function()
2021-02-25 12:04:31 +08:00
this:OnShowData(false,false)
2020-05-09 13:31:21 +08:00
end)
end)
end)
end
--界面关闭时调用(用于子类重写)
function Expert_UpLv:OnClose()
end
--界面销毁时调用(用于子类重写)
function Expert_UpLv:OnDestroy()
2021-04-21 13:12:04 +08:00
this.spLoader:Destroy()
2020-05-09 13:31:21 +08:00
sortingOrder = 0
itemList = {}
2020-05-09 13:31:21 +08:00
end
2020-06-23 18:36:24 +08:00
return Expert_UpLv