2020-10-10 11:54:13 +08:00
|
|
|
require("Base/BasePanel")
|
|
|
|
GeneralRankRewardPanel = Inherit(BasePanel)
|
|
|
|
local this = GeneralRankRewardPanel
|
|
|
|
local RewardList
|
2020-10-15 15:35:48 +08:00
|
|
|
local GloActConfig = ConfigManager.GetConfig(ConfigName.GlobalActivity)
|
|
|
|
local RewardConfig
|
2020-10-10 11:54:13 +08:00
|
|
|
local itemList = {}--优化itemView使用
|
|
|
|
local sorting = 0
|
2020-10-15 15:35:48 +08:00
|
|
|
local ConfigList = {
|
|
|
|
[1] = ConfigManager.GetConfig(ConfigName.ActivityRankingReward),
|
|
|
|
[ActivityTypeDef.Celebration] = ConfigManager.GetConfig(ConfigName.GodSacrificeConfig),
|
|
|
|
}
|
2020-10-10 11:54:13 +08:00
|
|
|
--初始化组件(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:InitComponent()
|
|
|
|
|
|
|
|
this.btnBack = Util.GetGameObject(self.gameObject, "btnBack")
|
|
|
|
this.Title = Util.GetGameObject(self.gameObject, "Title"):GetComponent("Text")
|
|
|
|
this.tipText = Util.GetGameObject(self.gameObject, "content1/tipText"):GetComponent("Text")
|
|
|
|
this.myRank = Util.GetGameObject(self.gameObject, "content1/myRank")
|
|
|
|
this.myRankNum = Util.GetGameObject(self.gameObject, "content1/myRank/num"):GetComponent("Text")
|
|
|
|
local v2 = Util.GetGameObject(self.gameObject, "content1/scrollRect"):GetComponent("RectTransform").rect
|
|
|
|
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.gameObject, "content1/scrollRect").transform,
|
|
|
|
Util.GetGameObject(self.gameObject, "content1/itemPre"), nil, Vector2.New(-v2.x*2, -v2.y*2), 1, 1, Vector2.New(10,10))
|
|
|
|
this.ScrollView.moveTween.MomentumAmount = 1
|
|
|
|
this.ScrollView.moveTween.Strength = 1
|
|
|
|
end
|
|
|
|
|
|
|
|
--绑定事件(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:BindEvent()
|
|
|
|
Util.AddClick(self.btnBack, function()
|
|
|
|
self:ClosePanel()
|
|
|
|
end)
|
|
|
|
end
|
|
|
|
|
|
|
|
--添加事件监听(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:AddListener()
|
|
|
|
end
|
|
|
|
|
|
|
|
--移除事件监听(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:RemoveListener()
|
|
|
|
end
|
|
|
|
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:OnOpen(ActivityId,myRank)
|
2020-10-15 15:35:48 +08:00
|
|
|
if ConfigList[GloActConfig[ActivityId].Type] then
|
|
|
|
RewardConfig = ConfigList[GloActConfig[ActivityId].Type]
|
|
|
|
else
|
|
|
|
RewardConfig = ConfigList[1]
|
|
|
|
end
|
2020-10-10 11:54:13 +08:00
|
|
|
this.ShowRewardInfo(ActivityId)
|
|
|
|
this.SetMyRank(myRank)
|
|
|
|
end
|
|
|
|
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:OnShow()
|
|
|
|
end
|
|
|
|
|
|
|
|
function GeneralRankRewardPanel:OnSortingOrderChange()
|
|
|
|
for i, v in pairs(itemList) do
|
|
|
|
for j = 1, #v do
|
|
|
|
v[j]:SetEffectLayer(self.sortingOrder)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
sorting = self.sortingOrder
|
|
|
|
end
|
|
|
|
|
|
|
|
function this.SetMyRank(myRank)
|
|
|
|
if myRank and myRank > 0 then
|
|
|
|
this.myRank:SetActive(true)
|
|
|
|
this.myRankNum.text = Language[10104]..myRank
|
|
|
|
else
|
|
|
|
this.myRank:SetActive(false)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function this.ShowRewardInfo(ActivityId)
|
|
|
|
RewardList = {}
|
|
|
|
--guildCheckpointRank
|
2020-10-15 15:35:48 +08:00
|
|
|
for _, configInfo in ConfigPairs(RewardConfig) do
|
2020-10-10 11:54:13 +08:00
|
|
|
if configInfo.ActivityId == ActivityId then
|
|
|
|
table.insert(RewardList,configInfo)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
this.ScrollView:SetData(RewardList, function (index, go)
|
|
|
|
this.ActivityRewardSingleShow(go, RewardList[index],index)
|
|
|
|
end)
|
|
|
|
end
|
|
|
|
|
|
|
|
--排名奖励2
|
|
|
|
function this.ActivityRewardSingleShow(activityRewardGo,rewardData,index)
|
|
|
|
local sortNumTabs = {}
|
|
|
|
for i = 1, 4 do
|
|
|
|
sortNumTabs[i] = Util.GetGameObject(activityRewardGo, "sortNum/sortNum ("..i..")")
|
|
|
|
sortNumTabs[i]:SetActive(false)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if rewardData.MaxRank == rewardData.MinRank then
|
|
|
|
if rewardData.MinRank < 4 then
|
|
|
|
sortNumTabs[ rewardData.MaxRank]:SetActive(true)
|
|
|
|
else
|
|
|
|
sortNumTabs[4]:SetActive(true)
|
|
|
|
Util.GetGameObject(sortNumTabs[4], "rankNumberText"):GetComponent("Text").text = rewardData.MinRank
|
|
|
|
end
|
|
|
|
else
|
|
|
|
sortNumTabs[4]:SetActive(true)
|
|
|
|
if rewardData.MaxRank > 100 then
|
|
|
|
Util.GetGameObject(sortNumTabs[4], "rankNumberText"):GetComponent("Text").text =rewardData.MinRank-1 .."+"
|
|
|
|
else
|
|
|
|
Util.GetGameObject(sortNumTabs[4], "rankNumberText"):GetComponent("Text").text =rewardData.MinRank .."-".. rewardData.MaxRank
|
|
|
|
end
|
|
|
|
end
|
|
|
|
if not itemList[activityRewardGo.name] then
|
|
|
|
itemList[activityRewardGo.name] = {}
|
|
|
|
end
|
|
|
|
for i = 1, #itemList[activityRewardGo.name] do
|
|
|
|
itemList[activityRewardGo.name][i].gameObject:SetActive(false)
|
|
|
|
end
|
|
|
|
for i = 1, #rewardData.RankingReward do
|
|
|
|
if itemList[activityRewardGo.name][i] then
|
|
|
|
itemList[activityRewardGo.name][i]:OnOpen(false, rewardData.RankingReward[i], 0.75,false,false,false,sorting)
|
|
|
|
else
|
|
|
|
itemList[activityRewardGo.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(activityRewardGo, "content").transform)
|
|
|
|
itemList[activityRewardGo.name][i]:OnOpen(false, rewardData.RankingReward[i], 0.75,false,false,false,sorting)
|
|
|
|
end
|
|
|
|
itemList[activityRewardGo.name][i].gameObject:SetActive(true)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:OnClose()
|
|
|
|
end
|
|
|
|
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
|
|
function GeneralRankRewardPanel:OnDestroy()
|
|
|
|
itemList = {}
|
|
|
|
end
|
|
|
|
|
|
|
|
return GeneralRankRewardPanel
|