132 lines
4.4 KiB
Lua
132 lines
4.4 KiB
Lua
require("Base/BasePanel")
|
|
TopMatchPlayBattleAinSelectPopup = Inherit(BasePanel)
|
|
local this = TopMatchPlayBattleAinSelectPopup
|
|
local resultRes = {
|
|
[0] = "UI_effect_JJC_JieSuan_ShiBai_png_zh",
|
|
[1] = "UI_effect_JJC_JieSuan_ShengLi_png_zh",
|
|
}
|
|
|
|
--初始化组件(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:InitComponent()
|
|
this.spLoader = SpriteLoader.New()
|
|
|
|
this.btnBack = Util.GetGameObject(self.transform, "btnBack")
|
|
this.title = Util.GetGameObject(self.transform, "Title"):GetComponent("Text")
|
|
this.battleRecord = {}
|
|
for i = 1, 3 do
|
|
this.battleRecord[i] = Util.GetGameObject(self.transform, "content/pre ("..i..")")
|
|
end
|
|
this.playerHead={}--玩家头像列表
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:BindEvent()
|
|
Util.AddClick(this.btnBack, function ()
|
|
self:ClosePanel()
|
|
end)
|
|
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:RemoveListener()
|
|
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:OnOpen(v)
|
|
this.title.text = Language[10139]
|
|
for i = 1, 3 do
|
|
local curPre = this.battleRecord[i]
|
|
if curPre then
|
|
if #v >= i then
|
|
curPre:SetActive(true)
|
|
this.SetPreShow(i,curPre,v[i])
|
|
else
|
|
curPre:SetActive(false)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
function this.SetPreShow(index,curPre,v)
|
|
Util.GetGameObject(curPre, "titleText"):GetComponent("Text").text = string.format(Language[10142], index)
|
|
Util.AddOnceClick(Util.GetGameObject(curPre, "PlayBackBtn"), function ()
|
|
this.SetPlayBack(v.fightResult,v.id,v.defInfo,v.attackInfo)
|
|
end)
|
|
|
|
this.SetHead( Util.GetGameObject(curPre, "attackInfo"),v.attackInfo,v.fightResult == 1)
|
|
this.SetHead(Util.GetGameObject(curPre, "defInfo"),v.defInfo,v.fightResult == 0)
|
|
end
|
|
function this.SetHead(curPre,data,isShowWinImage)
|
|
local head= Util.GetGameObject(curPre,"head")
|
|
local name= Util.GetGameObject(curPre,"nameBg/Text"):GetComponent("Text")
|
|
local winOrFail= Util.GetGameObject(curPre,"winOrFail"):GetComponent("Image")
|
|
if isShowWinImage then
|
|
winOrFail.sprite = this.spLoader:LoadSprite(resultRes[1])
|
|
else
|
|
winOrFail.sprite = this.spLoader:LoadSprite(resultRes[0])
|
|
end
|
|
if data then
|
|
if not this.playerHead[curPre] then
|
|
this.playerHead[curPre] = CommonPool.CreateNode(POOL_ITEM_TYPE.PLAYER_HEAD,head)
|
|
end
|
|
this.playerHead[curPre]:Reset()
|
|
this.playerHead[curPre]:SetScale(Vector3.one)
|
|
this.playerHead[curPre]:SetHead(data.head)
|
|
this.playerHead[curPre]:SetFrame(data.headFrame)
|
|
this.playerHead[curPre]:SetLevel(data.level)
|
|
this.playerHead[curPre]:SetLayer(this.sortingOrder)
|
|
name.text=data.name
|
|
Util.AddOnceClick(head,function()
|
|
UIManager.OpenPanel(UIName.PlayerInfoPopup, data.uid)
|
|
end)
|
|
else
|
|
if this.playerHead[curPre] then
|
|
this.playerHead[curPre] = nil
|
|
end
|
|
name.text=""
|
|
end
|
|
end
|
|
--设置战斗回放按钮
|
|
function this.SetPlayBack(fightResult, id, defInfo, attackInfo)
|
|
if fightResult == -1 then
|
|
return
|
|
end
|
|
-- playBackBtn:SetActive(_IsShowData and fightResult~=-1)
|
|
-- Util.AddOnceClick(playBackBtn,function()
|
|
ArenaTopMatchManager.RequestRecordFightData(fightResult,id, attackInfo.name.."|"..defInfo.name,function()
|
|
--构建显示结果数据(我永远在蓝方)
|
|
local arg = {}
|
|
arg.panelType = 1
|
|
arg.result = fightResult
|
|
arg.blue = {}
|
|
arg.blue.uid = attackInfo.uid
|
|
arg.blue.name = attackInfo.name
|
|
arg.blue.head = attackInfo.head
|
|
arg.blue.frame = attackInfo.headFrame
|
|
arg.red = {}
|
|
arg.red.uid = defInfo.uid
|
|
arg.red.name = defInfo.name
|
|
arg.red.head = defInfo.head
|
|
arg.red.frame = defInfo.headFrame
|
|
UIManager.OpenPanel(UIName.ArenaResultPopup, arg)
|
|
end)
|
|
-- end)
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:OnClose()
|
|
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function TopMatchPlayBattleAinSelectPopup:OnDestroy()
|
|
this.spLoader:Destroy()
|
|
|
|
end
|
|
|
|
return TopMatchPlayBattleAinSelectPopup |