540 lines
21 KiB
Lua
540 lines
21 KiB
Lua
require("Base/BasePanel")
|
|
RankingListPanel = Inherit(BasePanel)
|
|
local this = RankingListPanel
|
|
|
|
--Tab
|
|
local TabBox = require("Modules/Common/TabBox")
|
|
local _tabImageData = { select = "r_tongyong_xiaanniu_01", default = "r_tongyong_xiaanniu_02", lock = "r_Dungeon_lockon" }
|
|
local _tabFontColor = {
|
|
default = Color.New(130 / 255, 128 / 255, 120 / 255, 1),
|
|
select = Color.New(154 / 255, 78 / 255, 36 / 255, 1),
|
|
lock = Color.New(130 / 255, 128 / 255, 120 / 255, 1)
|
|
}
|
|
--头像
|
|
this.heads = {}
|
|
|
|
this.playerHeadList = {} --背景前三头像
|
|
this.playerScrollHead = {} --滚动条头像
|
|
|
|
--初始化组件(用于子类重写)
|
|
function RankingListPanel:InitComponent()
|
|
this.spLoader = SpriteLoader.New()
|
|
|
|
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
|
|
this.backBtn = Util.GetGameObject(self.gameObject, "BackBtn")
|
|
this.tabBox = Util.GetGameObject(self.gameObject, "TabBox")
|
|
|
|
for i = 1, 3 do
|
|
this.heads[i] = Util.GetGameObject(self.gameObject, "Heads/Name" .. i)
|
|
end
|
|
this.name1 = Util.GetGameObject(self.gameObject, "Heads/Name1/Text"):GetComponent("Text")
|
|
this.name2 = Util.GetGameObject(self.gameObject, "Heads/Name2/Text"):GetComponent("Text")
|
|
this.name3 = Util.GetGameObject(self.gameObject, "Heads/Name3/Text"):GetComponent("Text")
|
|
|
|
this.scrollParentView = Util.GetGameObject(self.gameObject, "RankList/ScrollParentView")
|
|
this.itemPre = Util.GetGameObject(self.gameObject, "RankList/ScrollParentView/ItemPre")
|
|
this.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.scrollParentView.transform, this.itemPre,
|
|
nil, Vector2.New(903, 911), 1, 1, Vector2.New(0, 0))
|
|
this.scrollView.gameObject:GetComponent("RectTransform").anchoredPosition = Vector2.New(0, 0)
|
|
this.scrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5)
|
|
this.scrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5)
|
|
this.scrollView.gameObject:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5)
|
|
this.scrollView.moveTween.MomentumAmount = 1
|
|
this.scrollView.moveTween.Strength = 2
|
|
|
|
this.titleName = Util.GetGameObject(self.gameObject, "RankList/ScrollTitleRoot/Name"):GetComponent("Text")
|
|
this.titleInfo = Util.GetGameObject(self.gameObject, "RankList/ScrollTitleRoot/Info"):GetComponent("Text")
|
|
this.record = Util.GetGameObject(self.gameObject, "RankList/Record")
|
|
this.info0 = Util.GetGameObject(this.record, "Info0"):GetComponent("Text")
|
|
this.rank0 = Util.GetGameObject(this.record, "Rank0"):GetComponent("Text")
|
|
this.info1 = Util.GetGameObject(this.record, "Info1"):GetComponent("Text")
|
|
this.rank1 = Util.GetGameObject(this.record, "Rank1"):GetComponent("Text")
|
|
|
|
this.noneImage = Util.GetGameObject(self.gameObject, "RankList/NoneImage") --无信息图片
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function RankingListPanel:BindEvent()
|
|
--返回按钮
|
|
Util.AddClick(this.backBtn, function()
|
|
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
|
self:ClosePanel()
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function RankingListPanel:AddListener()
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnWarPowerChange, this.SetWarPowerInfo)
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnArenaChange, this.SetArenaInfo)
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnTrialChange, this.SetTrialInfo)
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnMonsterChange, this.SetMonsterInfo)
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnAdventureChange, this.SetAdventureInfo)
|
|
Game.GlobalEvent:AddEvent(GameEvent.RankingList.OnCustomsPassChange, this.SetCustomsPassInfo)
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function RankingListPanel:RemoveListener()
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnWarPowerChange, this.SetWarPowerInfo)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnArenaChange, this.SetArenaInfo)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnTrialChange, this.SetTrialInfo)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnMonsterChange, this.SetMonsterInfo)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnAdventureChange, this.SetAdventureInfo)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RankingList.OnCustomsPassChange, this.SetCustomsPassInfo)
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function RankingListPanel:OnOpen(...)
|
|
SoundManager.PlayMusic(SoundConfig.BGM_Rank)
|
|
|
|
--设置信息方法的列表
|
|
this.SetInfoFuncList = {
|
|
[FUNCTION_OPEN_TYPE.ALLRANKING] = this.SetWarPowerInfo,
|
|
[FUNCTION_OPEN_TYPE.ARENA] = this.SetArenaInfo,
|
|
[FUNCTION_OPEN_TYPE.TRIAL] = this.SetTrialInfo,
|
|
[FUNCTION_OPEN_TYPE.MONSTER_COMING] = this.SetMonsterInfo,
|
|
[FUNCTION_OPEN_TYPE.FIGHT_ALIEN] = this.SetAdventureInfo,
|
|
[FUNCTION_OPEN_TYPE.CUSTOMSPASS] = this.SetCustomsPassInfo,
|
|
}
|
|
this.tabCtrl = TabBox.New()
|
|
this.tabCtrl:SetTabAdapter(this.TabAdapter)
|
|
this.tabCtrl:SetTabIsLockCheck(this.CheckTabCtrlIsLockP)
|
|
this.tabCtrl:SetChangeTabCallBack(this.GetRankInfo)
|
|
this.tabCtrl:Init(this.tabBox, RankingManager.GetTabTextData())
|
|
|
|
RankingManager.ClearData()
|
|
|
|
--默认打开
|
|
if this.tabCtrl then
|
|
this.tabCtrl:ChangeTab(1)
|
|
end
|
|
end
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function RankingListPanel:OnShow()
|
|
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function RankingListPanel:OnClose()
|
|
RankingManager.ClearData()
|
|
RankingManager.isRequest = 0
|
|
this.noneImage:SetActive(false)
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function RankingListPanel:OnDestroy()
|
|
this.spLoader:Destroy()
|
|
SubUIManager.Close(this.UpView)
|
|
for _, playerHead in ipairs(this.playerHeadList) do
|
|
playerHead:Recycle()
|
|
end
|
|
this.playerHeadList = {}
|
|
this.scrollView = nil
|
|
end
|
|
|
|
--点击获取对应排行信息
|
|
function this.GetRankInfo(index)
|
|
--Util.GetGameObject(this.gameObject,"Heads"):GetComponent("PlayFlyAnim"):PlayAnim(true)
|
|
RankingManager.CurPage = 0
|
|
|
|
local key = RankingManager.GetCurRankingInfo("Id", index)
|
|
this.istop = true
|
|
RankingManager.InitData(key, this.SetInfoFuncList[key]) --算是半个策略模式吧
|
|
end
|
|
|
|
---设置战力排名信息
|
|
function this.SetWarPowerInfo()
|
|
local warPowerData, myRankData = RankingManager.GetWarPowerInfo()
|
|
this.noneImage:SetActive(#warPowerData == 0)
|
|
-- 没有排行数据需要立刻刷新,只在打开界面时有用
|
|
if #warPowerData == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
this.SetNotRollingInfo(Language[12524], Language[12525], Language[12526], Language[12527], myRankData.myRank,
|
|
Language[10036], FormationManager.GetFormationPower(1), myRankData.myRank, myRankData.myForce)
|
|
|
|
--设置滚动区信息
|
|
this.scrollView:SetData(warPowerData, function(index, root)
|
|
this.ShowWarPowerInfo(root, warPowerData[index], myRankData)
|
|
if index == #warPowerData then
|
|
RankingManager.RequestNextWarPowerPageData()
|
|
end
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(warPowerData[index], root, index, warPowerData[index].userName, warPowerData[index].level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowWarPowerInfo(root, data, myRankData)
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.uid)
|
|
this.SetSelfBG(root, myRankData.myRank, data.rankInfo.rank)
|
|
this.SetRankingNum(root, data.rankInfo.rank)
|
|
this.SetHeadInfo(root, data.head, data.headFrame, data.level)
|
|
this.SetShowInfo(info1, info2, data.userName, data.force)
|
|
end
|
|
|
|
---设置逐胜场排名信息
|
|
function this.SetArenaInfo()
|
|
local arenaData, myRankData = RankingManager.GetArenaInfo()
|
|
this.noneImage:SetActive(#arenaData == 0)
|
|
if #arenaData == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
this.SetNotRollingInfo(Language[12524], Language[12528], Language[12526], Language[12529], myRankData.myRank,
|
|
Language[10036], "", myRankData.myRank, myRankData.myScore)
|
|
|
|
--设置滚动区信息
|
|
this.scrollView:SetData(arenaData, function(index, root)
|
|
this.ShowArenaInfo(root, arenaData[index], myRankData)
|
|
if index == #arenaData then
|
|
RankingManager.RequestNextArenaPageData()
|
|
end
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(arenaData[index].personInfo, root, index, JingJiShouWeiToEn(arenaData[index].personInfo.name),
|
|
arenaData[index].personInfo.level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowArenaInfo(root, data, myRankData)
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.personInfo.uid)
|
|
this.SetSelfBG(root, myRankData.myRank, data.personInfo.rank)
|
|
this.SetRankingNum(root, data.personInfo.rank)
|
|
this.SetHeadInfo(root, data.personInfo.head, data.personInfo.headFrame, data.personInfo.level)
|
|
this.SetShowInfo(info1, info2, JingJiShouWeiToEn(data.personInfo.name), data.personInfo.score)
|
|
--设置出战角色头像
|
|
--for i = 1, 5 do
|
|
-- local heroHeadBg = Util.GetGameObject(root, "Demons/Head_"..i)
|
|
-- local hearIcon = Util.GetGameObject(heroHeadBg, "Icon")
|
|
-- local heroTId = data.team.heroTid[i]
|
|
-- if heroTId then
|
|
-- heroHeadBg:SetActive(true)
|
|
-- local demonData = ConfigManager.GetConfigData(ConfigName.HeroConfig, heroTId)
|
|
-- heroHeadBg:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(demonData.Star))
|
|
-- hearIcon:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(demonData.Icon))
|
|
-- else
|
|
-- heroHeadBg:SetActive(false)
|
|
-- end
|
|
--end
|
|
end
|
|
|
|
---设置试炼排名信息
|
|
function this.SetTrialInfo()
|
|
local trialData, myRankData = RankingManager.GetTrialInfo()
|
|
this.noneImage:SetActive(#trialData == 0)
|
|
if #trialData == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
this.SetNotRollingInfo(Language[12524], Language[12530], Language[12526], Language[10290], myRankData.rank,
|
|
Language[10036], myRankData.highestTower, myRankData.rank, myRankData.highestTower .. Language[10295])
|
|
|
|
this.scrollView:SetData(trialData, function(index, root)
|
|
this.ShowTrialInfo(root, trialData[index], myRankData)
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(trialData[index], root, index, trialData[index].userName, trialData[index].level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowTrialInfo(root, data, myRankData)
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.uid)
|
|
this.SetSelfBG(root, myRankData.rank, data.rankInfo.rank)
|
|
this.SetRankingNum(root, data.rankInfo.rank)
|
|
this.SetHeadInfo(root, data.head, data.headFrame, data.level)
|
|
this.SetShowInfo(info1, info2, data.userName, data.rankInfo.param1 .. Language[10295])
|
|
end
|
|
|
|
---设置兽潮玩家排名信息
|
|
function this.SetMonsterInfo()
|
|
local monsterData, myRankData = RankingManager.GetMonsterInfo()
|
|
this.noneImage:SetActive(#monsterData == 0)
|
|
if #monsterData == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
this.SetNotRollingInfo(Language[12524], Language[12530], Language[12526], Language[12531], myRankData.myRank,
|
|
Language[10036], "0", myRankData.myRank, Language[10286] .. myRankData.myScore .. Language[10646])
|
|
|
|
this.scrollView:SetData(monsterData, function(index, root)
|
|
this.ShowMonsterInfo(root, monsterData[index], myRankData)
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(monsterData[index], root, index, monsterData[index].userName, monsterData[index].level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowMonsterInfo(root, data, myRankData)
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.uid)
|
|
this.SetSelfBG(root, myRankData.myRank, data.rankInfo.rank)
|
|
this.SetRankingNum(root, data.rankInfo.rank)
|
|
this.SetHeadInfo(root, data.head, data.headFrame, data.level)
|
|
this.SetShowInfo(info1, info2, data.userName, Language[10286] .. data.rankInfo.param1 .. Language[10646])
|
|
end
|
|
|
|
---设置外敌排名信息
|
|
function this.SetAdventureInfo()
|
|
local adventureData, myRankData = RankingManager.GetAdventureInfo()
|
|
this.noneImage:SetActive(#adventureData == 0)
|
|
if #adventureData == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
this.SetNotRollingInfo(Language[12524], Language[12532], Language[12526], Language[12532], myRankData.rank,
|
|
Language[10036], myRankData.hurt, myRankData.rank, myRankData.hurt)
|
|
|
|
this.scrollView:SetData(adventureData, function(index, root)
|
|
this.ShowAdventureInfo(root, adventureData[index], myRankData)
|
|
if index == #adventureData then
|
|
RankingManager.RequestNextAdventurePageData()
|
|
end
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(adventureData[index], root, index, adventureData[index].name, adventureData[index].level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowAdventureInfo(root, data, myRankData)
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.uid)
|
|
this.SetSelfBG(root, myRankData.rank, data.rank)
|
|
this.SetRankingNum(root, data.rank)
|
|
this.SetHeadInfo(root, data.head, data.headFrame, data.level)
|
|
this.SetShowInfo(info1, info2, data.name, data.hurt)
|
|
end
|
|
|
|
---设置关卡排名信息
|
|
function this.SetCustomsPassInfo()
|
|
local data, myData = RankingManager.GetCustomsPassInfo()
|
|
this.noneImage:SetActive(#data == 0)
|
|
if #data == 0 then
|
|
this.isRefreshNow = true
|
|
end
|
|
this.InitNotRollingInfo()
|
|
|
|
local myRankText = ""
|
|
if myData.fightId < 0 then
|
|
myRankText = Language[10036]
|
|
else
|
|
myRankText = RankingManager.mainLevelConfig[myData.fightId].Name
|
|
end
|
|
this.SetNotRollingInfo(Language[12524], Language[12533], Language[12526], Language[12534], myData.myRank,
|
|
Language[10036], "", myData.myRank, myRankText)
|
|
|
|
this.scrollView:SetData(data, function(index, root)
|
|
this.ShowCustomsPassInfo(root, data[index], myData)
|
|
if index > 3 then
|
|
return
|
|
end
|
|
this.SetHeadsInfo(data[index], root, index, data[index].userName, data[index].level)
|
|
end, not this.istop)
|
|
this.CheckIsTop()
|
|
end
|
|
|
|
--显示每条数据
|
|
function this.ShowCustomsPassInfo(root, data, myRankData)
|
|
if data.rankInfo.param1 > 0 then
|
|
local info1, info2 = this.InitRollingInfo(root)
|
|
this.AddPlayerInfoClick(root, data.uid)
|
|
this.SetSelfBG(root, myRankData.myRank, data.rankInfo.rank)
|
|
this.SetRankingNum(root, data.rankInfo.rank)
|
|
this.SetHeadInfo(root, data.head, data.headFrame, data.level)
|
|
this.SetShowInfo(info1, info2, data.userName, RankingManager.mainLevelConfig[data.rankInfo.param1].Name)
|
|
end
|
|
end
|
|
|
|
--设置前三名背景头像
|
|
function this.SetHeadsInfo(data, root, index, name, level)
|
|
if not this.playerHeadList[root] then
|
|
this.playerHeadList[root] = CommonPool.CreateNode(POOL_ITEM_TYPE.PLAYER_HEAD, this.heads)
|
|
end
|
|
this.heads[index]:SetActive(true)
|
|
this.playerHeadList[root]:Reset()
|
|
this.playerHeadList[root]:SetHead(data.head)
|
|
this.playerHeadList[root]:SetFrame(data.headFrame)
|
|
this.playerHeadList[root]:SetLevel(level)
|
|
this.playerHeadList[root]:SetParent(this.heads[index])
|
|
this.playerHeadList[root]:SetLayer(this.sortingOrder)
|
|
if index == 1 then
|
|
this.playerHeadList[root]:SetPosition(Vector3(0, 126, 0))
|
|
this.playerHeadList[root]:SetScale(Vector3.one * 1.4)
|
|
this.playerScrollHead[root]:SetEffectScale(1.5)
|
|
this.name1.text = name
|
|
elseif index == 2 then
|
|
this.playerHeadList[root]:SetPosition(Vector3(0, 100, 0))
|
|
this.playerHeadList[root]:SetScale(Vector3.one * 1)
|
|
this.name2.text = name
|
|
elseif index == 3 then
|
|
this.playerHeadList[root]:SetPosition(Vector3(0, 100, 0))
|
|
this.playerHeadList[root]:SetScale(Vector3.one * 1)
|
|
this.name3.text = name
|
|
end
|
|
end
|
|
|
|
--初始化非滚动区信息
|
|
function this.InitNotRollingInfo()
|
|
for i = 1, 3 do
|
|
this.heads[i]:SetActive(false)
|
|
end
|
|
this.name1.text = ""
|
|
this.name2.text = ""
|
|
this.name3.text = ""
|
|
this.titleName.text = ""
|
|
this.titleInfo.text = ""
|
|
this.info0.text = ""
|
|
this.info1.text = ""
|
|
this.rank0.text = ""
|
|
this.rank1.text = ""
|
|
end
|
|
|
|
--设置非滚动区信息
|
|
function this.SetNotRollingInfo(...)
|
|
local args = { ... }
|
|
this.titleName.text = args[1] --顶部信息
|
|
this.titleInfo.text = args[2]
|
|
this.info0.text = args[3] --底部信息
|
|
this.info1.text = args[4]
|
|
if not args[5] or args[5] < 1 then --排名对比 <0未上榜
|
|
this.rank0.text = args[6] --未上榜
|
|
this.rank1.text = args[7] --显示内容
|
|
else
|
|
this.rank0.text = args[8] --上榜
|
|
this.rank1.text = args[9] --显示内容
|
|
end
|
|
end
|
|
|
|
--初始化滚动区信息
|
|
function this.InitRollingInfo(_root)
|
|
local info0 = Util.GetGameObject(_root, "Value0"):GetComponent("Text")
|
|
local info1 = Util.GetGameObject(_root, "Value1"):GetComponent("Text")
|
|
info0.text = ""
|
|
info1.text = ""
|
|
return info0, info1
|
|
end
|
|
|
|
--玩家信息弹窗
|
|
function this.AddPlayerInfoClick(root, uid)
|
|
local clickBtn = Util.GetGameObject(root, "ClickBtn")
|
|
Util.AddOnceClick(clickBtn, function()
|
|
UIManager.OpenPanel(UIName.PlayerInfoPopup, uid)
|
|
end)
|
|
end
|
|
|
|
--设置自身背景
|
|
function this.SetSelfBG(root, myRank, rank)
|
|
if myRank == rank then
|
|
Util.GetGameObject(root, "SelfBG").gameObject:SetActive(true)
|
|
else
|
|
Util.GetGameObject(root, "SelfBG").gameObject:SetActive(false)
|
|
end
|
|
end
|
|
|
|
--设置名次
|
|
function this.SetRankingNum(root, rank)
|
|
local sortNumTabs = {}
|
|
for i = 1, 4 do
|
|
sortNumTabs[i] = Util.GetGameObject(root, "SortNum/SortNum (" .. i .. ")")
|
|
sortNumTabs[i]:SetActive(false)
|
|
end
|
|
if rank < 4 then
|
|
sortNumTabs[rank]:SetActive(true)
|
|
else
|
|
sortNumTabs[4]:SetActive(true)
|
|
Util.GetGameObject(sortNumTabs[4], "TitleText"):GetComponent("Text").text = rank
|
|
end
|
|
end
|
|
|
|
--设置头像
|
|
function this.SetHeadInfo(root, head, frame, level)
|
|
local headObj = Util.GetGameObject(root, "Head")
|
|
if not this.playerScrollHead[root] then
|
|
this.playerScrollHead[root] = CommonPool.CreateNode(POOL_ITEM_TYPE.PLAYER_HEAD, headObj)
|
|
end
|
|
this.playerScrollHead[root]:Reset()
|
|
this.playerScrollHead[root]:SetHead(head)
|
|
this.playerScrollHead[root]:SetFrame(frame)
|
|
this.playerScrollHead[root]:SetLevel(level)
|
|
this.playerScrollHead[root]:SetScale(Vector3.one * 0.7)
|
|
this.playerScrollHead[root]:SetLayer(this.sortingOrder)
|
|
this.playerScrollHead[root]:SetEffectScale(0.75)
|
|
end
|
|
|
|
--设置显示信息
|
|
function this.SetShowInfo(info1, info2, str1, str2)
|
|
info1.text = "<size=40%>" .. str1 .. "</size>"
|
|
info2.text = "<size=40%>" .. str2 .. "</size>"
|
|
end
|
|
|
|
-- tab按钮自定义显示设置
|
|
function this.TabAdapter(tab, index, status)
|
|
local img = Util.GetGameObject(tab, "Image")
|
|
local lockImage = Util.GetGameObject(tab, "LockImage")
|
|
local txt = Util.GetGameObject(tab, "Text")
|
|
|
|
if status == "lock" then
|
|
lockImage:SetActive(true)
|
|
lockImage:GetComponent("Image").sprite = this.spLoader:LoadSprite(_tabImageData[status])
|
|
txt:GetComponent("Text").text = RankingManager.GetTabTextData()[index].txt
|
|
txt:GetComponent("Text").color = _tabFontColor[status]
|
|
else
|
|
lockImage:SetActive(false)
|
|
img:GetComponent("Image").sprite = this.spLoader:LoadSprite(_tabImageData[status])
|
|
txt:GetComponent("Text").text = RankingManager.GetTabTextData()[index].txt
|
|
txt:GetComponent("Text").color = _tabFontColor[status]
|
|
end
|
|
end
|
|
|
|
--检查是否显示第一页 当切换页签时切换到第一页 当请求下一页时不跳转第一页
|
|
function this.CheckIsTop()
|
|
if this.istop then
|
|
-- this.scrollView:SetIndex(1)
|
|
this.istop = false
|
|
end
|
|
end
|
|
|
|
--检查Tab是否解锁
|
|
function this.CheckTabCtrlIsLockP(index)
|
|
local type = RankingManager.GetCurRankingInfo("Id", index)
|
|
local des = RankingManager.GetCurRankingInfo("Des", index)
|
|
local b, str = this.CheckTabCtrlIsLockS(type, des)
|
|
if b then
|
|
return b, str
|
|
end
|
|
return false
|
|
end
|
|
|
|
function this.CheckTabCtrlIsLockS(type, des)
|
|
if type == 8 then
|
|
if not ActTimeCtrlManager.IsQualifiled(type) then
|
|
return true, des .. ActTimeCtrlManager.GetFuncTip(type)
|
|
end
|
|
else
|
|
if not ActTimeCtrlManager.SingleFuncState(type) then
|
|
return true, des .. ActTimeCtrlManager.GetFuncTip(type)
|
|
end
|
|
end
|
|
end
|
|
|
|
return RankingListPanel
|