PGRData/Script/matrix/xui/xuiguildwar/XUiGuildWarBattleRoomRoleDetail.lua

79 lines
3.2 KiB
Lua
Raw Normal View History

--######################## XUiRoleGrid ########################
local XUiBattleRoomRoleGrid = require("XUi/XUiNewRoomSingle/XUiBattleRoomRoleGrid")
local XUiRoleGrid = XClass(XUiBattleRoomRoleGrid, "XUiRoleGrid")
function XUiRoleGrid:SetData(entity, team, stageId)
XUiRoleGrid.Super.SetData(self, entity, team, stageId)
self.RImgUpIcon.gameObject:SetActiveEx(
XDataCenter.GuildWarManager.CheckIsSpecialRole(entity:GetId()))
end
--######################## XUiChildPanel ########################
local XUiChildPanel = XClass(nil, "XUiChildPanel")
function XUiChildPanel:Ctor(ui)
self.GuildWarManager = XDataCenter.GuildWarManager
XUiHelper.InitUiClass(self, ui)
end
function XUiChildPanel:SetData(currentEntityId)
local isSpecial = self.GuildWarManager.CheckIsSpecialRole(currentEntityId)
self.GameObject:SetActiveEx(isSpecial)
if not isSpecial then return end
local buffData = self.GuildWarManager.GetSpecialRoleBuff(currentEntityId)
if buffData == nil then return end
self.RImgSkillIcon:SetRawImage(buffData.Icon)
self.TxtSkillDesc.text = buffData.Desc
end
--######################## XUiGuildWarBattleRoomRoleDetail ########################
local XUiBattleRoomRoleDetailDefaultProxy = require("XUi/XUiNewRoomSingle/XUiBattleRoomRoleDetailDefaultProxy")
local XUiGuildWarBattleRoomRoleDetail = XClass(XUiBattleRoomRoleDetailDefaultProxy, "XUiGuildWarBattleRoomRoleDetail")
function XUiGuildWarBattleRoomRoleDetail:Ctor()
self.GuildWarManager = XDataCenter.GuildWarManager
self.BattleManager = self.GuildWarManager.GetBattleManager()
end
-- 获取实体数据
-- characterType : XCharacterConfigs.CharacterType 参数为空时要返回所有实体
-- return : { ... }
function XUiGuildWarBattleRoomRoleDetail:GetEntities(characterType)
local result = XDataCenter.CharacterManager.GetOwnCharacterList(characterType)
appendArray(result, self.BattleManager:GetRobots(characterType))
return result
end
-- 获取子面板数据,主要用来增加编队界面自身玩法信息,就不用污染通用的预制体
--[[
return : {
assetPath :
proxy :
proxyArgs : SetData传入的参数列表
}
]]
function XUiGuildWarBattleRoomRoleDetail:GetChildPanelData()
return {
assetPath = XUiConfigs.GetComponentUrl("UpCharacterSkill"),
proxy = XUiChildPanel,
proxyArgs = { "CurrentEntityId" },
}
end
-- 获取左边角色格子代理默认为XUiBattleRoomRoleGrid
-- 如果只是做一些简单的显示比如等级读取自定义可以直接使用AOPOnDynamicTableEventAfter接口去处理也可以
-- return : 继承自XUiBattleRoomRoleGrid的类
function XUiGuildWarBattleRoomRoleDetail:GetGridProxy()
return XUiRoleGrid
end
-- return : bool 是否开启自动关闭检查, number 自动关闭的时间戳(秒), function 每秒更新的回调 function(isClose) isClose标志是否到达结束时间
function XUiGuildWarBattleRoomRoleDetail:GetAutoCloseInfo()
return true, self.GuildWarManager.GetRoundEndTime(), function(isClose)
if isClose then
self.GuildWarManager.OnActivityEndHandler()
end
end
end
return XUiGuildWarBattleRoomRoleDetail