140 lines
5.4 KiB
Lua
140 lines
5.4 KiB
Lua
require("Base/BasePanel")
|
|
FightPointPassRankPopup = Inherit(BasePanel)
|
|
local this = FightPointPassRankPopup
|
|
|
|
this.rankListData = {}
|
|
this.playerScrollHead = {} --滚动条头像
|
|
this.mainLevelConfig = nil
|
|
--初始化组件(用于子类重写)
|
|
function FightPointPassRankPopup:InitComponent()
|
|
this.spLoader = SpriteLoader.New()
|
|
|
|
this.backBtn = Util.GetGameObject(self.gameObject, "Panel/BackBtn")
|
|
|
|
this.scrollParentView = Util.GetGameObject(self.gameObject, "Panel/ScrollParentView")
|
|
this.itemPre = Util.GetGameObject(self.gameObject, "Panel/ScrollParentView/ItemPre")
|
|
this.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.scrollParentView.transform, this.itemPre,
|
|
nil, Vector2.New(903, 928.53), 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.myRankText = Util.GetGameObject(self.gameObject, "MyRank/MyRankText"):GetComponent("Text")
|
|
this.myGateText = Util.GetGameObject(self.gameObject, "MyRank/MyGateText"):GetComponent("Text")
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function FightPointPassRankPopup:BindEvent()
|
|
Util.AddClick(this.backBtn, function()
|
|
self:ClosePanel()
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function FightPointPassRankPopup:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function FightPointPassRankPopup:RemoveListener()
|
|
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function FightPointPassRankPopup:OnOpen(...)
|
|
this.mainLevelConfig = ConfigManager.GetConfig(ConfigName.MainLevelConfig)
|
|
end
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function FightPointPassRankPopup:OnShow()
|
|
this.SetInfo()
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function FightPointPassRankPopup:OnClose()
|
|
--SubUIManager.Close(this.scrollView)
|
|
FightPointPassManager.isBeginFight = false
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function FightPointPassRankPopup:OnDestroy()
|
|
this.spLoader:Destroy()
|
|
|
|
this.scrollView = nil
|
|
end
|
|
|
|
function this.SetInfo()
|
|
this.rankListData = {}
|
|
NetManager.RequestRankInfo(RANK_TYPE.FIGHT_LEVEL_RANK, function(msg)
|
|
if tostring(msg.myRankInfo.rank) == "-1" then
|
|
this.myRankText.text = Language[10036]
|
|
this.myGateText.text = "" --tostring(this.mainLevelConfig[msg.myMainLevelRankInfo.fightId].Name)
|
|
else
|
|
this.myRankText.text = tostring(msg.myRankInfo.rank)
|
|
Log("msg.myRankInfo.param1" .. msg.myRankInfo.param1)
|
|
this.myGateText.text = GetLanguageStrById(tostring(this.mainLevelConfig[msg.myRankInfo.param1].Name))
|
|
end
|
|
|
|
local length = #this.rankListData
|
|
for i, rank in ipairs(msg.ranks) do
|
|
this.rankListData[length + i] = rank
|
|
end
|
|
this.scrollView:SetData(this.rankListData, function(index, root)
|
|
this.ShowInfo(root, this.rankListData[index], msg.myRankInfo.rank)
|
|
end)
|
|
this.scrollView:SetIndex(1)
|
|
end)
|
|
end
|
|
|
|
--显示每条信息 1根物体 2数据 3排名
|
|
function this.ShowInfo(root, data, rank)
|
|
--设置表现背景
|
|
if rank == data.rankInfo.rank then
|
|
Util.GetGameObject(root, "SelfBG").gameObject:SetActive(true)
|
|
else
|
|
Util.GetGameObject(root, "SelfBG").gameObject:SetActive(false)
|
|
end
|
|
--设置名次
|
|
--local sortFrame = Util.GetGameObject(root, "SortNum/SortNum (1)"):GetComponent("Image")
|
|
--sortFrame.sprite = SetRankNumFrame(this.spLoader, data.rank)
|
|
--设置名次
|
|
local sortNumTabs = {}
|
|
for i = 1, 4 do
|
|
sortNumTabs[i] = Util.GetGameObject(root, "SortNum/SortNum (" .. i .. ")")
|
|
sortNumTabs[i]:SetActive(false)
|
|
end
|
|
if data.rankInfo.rank < 4 then
|
|
sortNumTabs[data.rankInfo.rank]:SetActive(true)
|
|
else
|
|
sortNumTabs[4]:SetActive(true)
|
|
Util.GetGameObject(sortNumTabs[4], "TitleText"):GetComponent("Text").text = data.rankInfo.rank
|
|
end
|
|
--设置头像
|
|
local head = Util.GetGameObject(root, "Head")
|
|
if not this.playerScrollHead[root] then
|
|
this.playerScrollHead[root] = CommonPool.CreateNode(POOL_ITEM_TYPE.PLAYER_HEAD, head)
|
|
end
|
|
this.playerScrollHead[root]:Reset()
|
|
this.playerScrollHead[root]:SetHead(data.head)
|
|
this.playerScrollHead[root]:SetFrame(data.headFrame)
|
|
this.playerScrollHead[root]:SetLevel(data.level)
|
|
this.playerScrollHead[root]:SetScale(Vector3.one * 0.7)
|
|
this.playerScrollHead[root]:SetLayer(this.sortingOrder)
|
|
this.playerScrollHead[root]:SetEffectScale(0.8)
|
|
--设置角色信息
|
|
local name = Util.GetGameObject(root, "Name"):GetComponent("Text")
|
|
--local level=Util.GetGameObject(root,"Level"):GetComponent("Text")
|
|
local gate = Util.GetGameObject(root, "Gate"):GetComponent("Text")
|
|
name.text = data.userName
|
|
--level.text="等级:"..data.level
|
|
gate.text = GetLanguageStrById(this.mainLevelConfig[data.rankInfo.param1].Name)
|
|
--战力
|
|
local force = Util.GetGameObject(root, "Force"):GetComponent("Text")
|
|
force.text = data.force
|
|
end
|
|
|
|
return FightPointPassRankPopup
|