----- 新副本战斗回放弹窗 ----- local this = {} --传入父脚本模块 local parent --传入特效层级 local sortingOrder = 0 local fun local data = {} local prbGoGrid = {} local backFun local fightLevelData = {} this.playerScrollHead = {} --背景前三头像 function this:InitComponent(gameObject) this.titleText = Util.GetGameObject(gameObject, "TitleText"):GetComponent("Text") this.backBtn = Util.GetGameObject(gameObject, "BackBtn") prbGoGrid = {} for i = 1, 2 do prbGoGrid[i] = Util.GetGameObject(gameObject, "rect/ItemPre (" .. i .. ")") end end function this:BindEvent() Util.AddClick(this.backBtn, function() parent:ClosePanel() if backFun then backFun() backFun = nil end end) end function this:AddListener() end function this:RemoveListener() end function this:OnShow(_parent, ...) parent = _parent sortingOrder = _parent.sortingOrder --不定参中包含的不定参 _args[1]为面板类型 _args[2]之后(包括)为打开面板后传入的不定参 local args = { ... } data = args[1] fightLevelData = args[2] backFun = args[3] this.titleText.text = Language[10808] for i = 1, 2 do prbGoGrid[i]:SetActive(false) end for i = 1, #data do local root = prbGoGrid[i] this.SetInfo(root, data[i], i) end end function this:OnSortingOrderChange(_sortingOrder) end --设置头像 function this.SetInfo(root, data, index) root:SetActive(true) --头像 local headObj = Util.GetGameObject(root, "HeadParent") 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(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.75) Util.GetGameObject(root, "name"):GetComponent("Text").text = PracticeManager.SetNameColor(data.userName, data.practiceLevel) --data.userName Util.GetGameObject(root, "warPower/Text"):GetComponent("Text").text = data.power if data.type == 1 then Util.GetGameObject(root, "tip"):GetComponent("Text").text = Language[10809] elseif data.type == 2 then Util.GetGameObject(root, "tip"):GetComponent("Text").text = Language[10810] end Util.AddOnceClick(Util.GetGameObject(root, "ClickBtn"), function() local _fightData = BattleManager.GetBattleServerData(data, 0) UIManager.OpenPanel(UIName.BattlePanel, _fightData, BATTLE_TYPE.BACK, function() end) end) end function this:OnClose() end function this:OnDestroy() for _, playerHead in ipairs(this.playerScrollHead) do playerHead:Recycle() end this.playerScrollHead = {} end return this