140 lines
5.1 KiB
Lua
140 lines
5.1 KiB
Lua
require("Base/BasePanel")
|
|
LaddersKingPanel = Inherit(BasePanel)
|
|
local this = LaddersKingPanel
|
|
local agreeSprite = {
|
|
GetPictureFont("X1_jingjichang_dianzan"),
|
|
GetPictureFont("X1_jingjichang_yizan")
|
|
}
|
|
|
|
--初始化组件(用于子类重写)
|
|
function LaddersKingPanel:InitComponent()
|
|
this.backBtn = Util.GetGameObject(this.gameObject, "Bg")
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function LaddersKingPanel:BindEvent()
|
|
Util.AddClick(this.backBtn, function()
|
|
this:ClosePanel()
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function LaddersKingPanel:AddListener()
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function LaddersKingPanel:RemoveListener()
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function LaddersKingPanel:OnOpen()
|
|
this.RefreshRankData()
|
|
end
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function LaddersKingPanel:OnShow()
|
|
end
|
|
|
|
function LaddersKingPanel:OnSortingOrderChange()
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function LaddersKingPanel:OnClose()
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function LaddersKingPanel:OnDestroy()
|
|
end
|
|
|
|
--刷新排行信息
|
|
function LaddersKingPanel.RefreshRankData()
|
|
NetManager.GetWorldArenaRankInfoRequest(true, function (msg)
|
|
local dataList = msg.arenaInfo.arenaEnemys
|
|
for i = 1, 3 do
|
|
local item = Util.GetGameObject(this.gameObject, "rank" .. i)
|
|
if dataList[i] then
|
|
Util.GetGameObject(item, "name"):SetActive(true)
|
|
Util.GetGameObject(item, "frame"):SetActive(true)
|
|
Util.GetGameObject(item, "agreeBtn"):SetActive(true)
|
|
this.SetData(item, dataList[i])
|
|
else
|
|
Util.GetGameObject(item, "name"):SetActive(false)
|
|
Util.GetGameObject(item, "frame"):SetActive(false)
|
|
Util.GetGameObject(item, "agreeBtn"):SetActive(false)
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
|
|
function LaddersKingPanel.SetData(go, data)
|
|
local name = Util.GetGameObject(go, "name"):GetComponent("Text")
|
|
local lv = Util.GetGameObject(go, "lv"):GetComponent("Text")
|
|
local agreeBtn = Util.GetGameObject(go, "agreeBtn")
|
|
local agree = Util.GetGameObject(go, "agreeBtn/Text"):GetComponent("Text")
|
|
local frame = Util.GetGameObject(go, "frame"):GetComponent("Image")
|
|
local icon = Util.GetGameObject(go, "frame/icon"):GetComponent("Image")
|
|
lv.text = "Lv." .. data.personInfo.level
|
|
agree.text = data.worshipTime
|
|
frame.sprite = GetPlayerHeadFrameSprite(data.personInfo.headFrame)
|
|
icon.sprite = GetPlayerHeadSprite(data.personInfo.head)
|
|
|
|
if data.personInfo.servername ~= nil and data.personInfo.servername ~= "" then
|
|
if data.personInfo.uid < 10000 then
|
|
name.text = string.format("[%s]%s",data.personInfo.servername, GetLanguageStrById(tonumber(data.personInfo.name)))
|
|
else
|
|
name.text = string.format("[%s]%s",data.personInfo.servername, data.personInfo.name)
|
|
end
|
|
else
|
|
if data.personInfo.uid < 10000 then
|
|
name.text = GetLanguageStrById(tonumber(data.personInfo.name))
|
|
else
|
|
name.text = data.personInfo.name
|
|
end
|
|
end
|
|
|
|
if data.personInfo.servername ~= nil and data.personInfo.servername ~= "" then
|
|
if data.personInfo.uid < 10000 then
|
|
name.text = string.format("[%s]%s",data.personInfo.servername, GetLanguageStrById(tonumber(data.personInfo.name)))
|
|
else
|
|
name.text = string.format("[%s]%s",data.personInfo.servername, data.personInfo.name)
|
|
end
|
|
else
|
|
if data.personInfo.uid < 10000 then
|
|
name.text = GetLanguageStrById(tonumber(data.personInfo.name))
|
|
else
|
|
name.text = data.personInfo.name
|
|
end
|
|
end
|
|
|
|
if data.hadProud then
|
|
agreeBtn:GetComponent("Image").sprite = Util.LoadSprite(agreeSprite[2])
|
|
else
|
|
agreeBtn:GetComponent("Image").sprite = Util.LoadSprite(agreeSprite[1])
|
|
end
|
|
Util.SetGray(agreeBtn, data.hadProud)
|
|
|
|
Util.AddOnceClick(agreeBtn, function ()
|
|
if data.hadProud then
|
|
return
|
|
end
|
|
NetManager.GetWorldArenaProudRequest(data.personInfo.uid, data.personInfo.rank, function (msg)
|
|
if msg.err == -1 then
|
|
this.RefreshRankData()
|
|
PopupTipPanel.ShowTip(GetLanguageStrById(50174))--排名发生变化
|
|
elseif msg.err == 1 then
|
|
PopupTipPanel.ShowTip(GetLanguageStrById(50175))--今天已经给他点过赞了
|
|
elseif msg.err == 2 then
|
|
PopupTipPanel.ShowTip(GetLanguageStrById(50176))--每日点赞数量达到上限
|
|
else
|
|
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1,function()
|
|
agree.text = msg.worshipTime
|
|
agreeBtn:GetComponent("Image").sprite = Util.LoadSprite(agreeSprite[2])
|
|
Util.SetGray(agreeBtn, true)
|
|
Game.GlobalEvent:DispatchEvent(GameEvent.Ladders.RefreshItem)
|
|
end)
|
|
end
|
|
end)
|
|
end)
|
|
end
|
|
|
|
return LaddersKingPanel |