PGRData/Script/matrix/xui/xuirift/grid/XUiRiftBattleRoomProxy.lua
2024-09-01 22:49:41 +02:00

73 lines
No EOL
3.3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local XUiBattleRoleRoomDefaultProxy = require("XUi/XUiNewRoomSingle/XUiBattleRoleRoomDefaultProxy")
local XUiRiftBattleRoomProxy = XClass(XUiBattleRoleRoomDefaultProxy, "XUiRiftBattleRoomProxy")
--######################## AOP ########################
function XUiRiftBattleRoomProxy:AOPOnStartBefore(rootUi)
local isUnlock = XDataCenter.RiftManager.IsFuncUnlock(XRiftConfig.FuncUnlockId.Attribute)
rootUi.BtnPanelLoad.gameObject:SetActiveEx(isUnlock)
XUiHelper.RegisterClickEvent(self, rootUi.BtnPanelLoad, self.OnBtnAttributeClick)
end
function XUiRiftBattleRoomProxy:GetCharacterViewModelByEntityId(roleId) --加载模型用到的角色id由于队伍里面存的entityId是大秘境的角色id要返回真正的charater
if roleId and roleId > 0 then
local xRole = XDataCenter.RiftManager.GetEntityRoleById(roleId)
return xRole:GetCharacterViewModel()
end
return nil
end
function XUiRiftBattleRoomProxy:AOPRefreshRoleInfosAfter(rootUi)
rootUi.DarkBottom.gameObject:SetActiveEx(true)
rootUi.ImgSkillLine.gameObject:SetActiveEx(false)
-- 这里刷新角色战力信息
local team = rootUi.Team
for index, roleId in pairs(team:GetEntityIds()) do
local xRole = XDataCenter.RiftManager.GetEntityRoleById(roleId)
rootUi["PanelLoad"..index].gameObject:SetActiveEx(not team:CheckIsPosEmpty(index))
if xRole then
local text = nil
if xRole:GetCurrentLoad() == 0 then
text = "RiftPluginLoadRed"
elseif xRole:GetCurrentLoad() == XDataCenter.RiftManager.GetMaxLoad() then
text = "RiftPluginLoadBlue"
else
text = "RiftPluginLoadYellow"
end
rootUi["TxtLoad"..index].text = CS.XTextManager.GetText(text, xRole:GetCurrentLoad(), XDataCenter.RiftManager.GetMaxLoad())
rootUi["TxtTrend"..index].text = xRole:GetAttrTypeName()
rootUi["TxtFight"..index].text = xRole:GetFinalShowAbility()
end
end
-- 刷新加点模板信息
local normal = rootUi.BtnPanelLoad:GetObject("Normal")
local press = rootUi.BtnPanelLoad:GetObject("Press")
local attrTemplate = XDataCenter.RiftManager.GetAttrTemplate(XRiftConfig.DefaultAttrTemplateId)
for index = 1, XRiftConfig.AttrCnt do
local attrLevel = attrTemplate:GetAttrLevel(index)
local attrTxtName = "TxtSu0" .. index
normal:GetObject(attrTxtName).text = tostring(attrLevel)
normal.transform:Find("Txt0"..index):GetComponent("Text").text = XRiftConfig.GetAttrName(index)
press:GetObject(attrTxtName).text = tostring(attrLevel)
press.transform:Find("Txt0"..index):GetComponent("Text").text = XRiftConfig.GetAttrName(index)
end
rootUi.BtnPanelLoad:GetComponent("XUiButton"):SetNameByGroup(0, attrTemplate:GetAllLevel())
end
function XUiRiftBattleRoomProxy:AOPOnCharacterClickBefore(rootUi, index)
-- 这里打开大秘境的角色列表界面(不走RoomDetail)
XLuaUiManager.Open("UiRiftCharacter", false, rootUi.Team, index)
return true
end
-- 进入战斗
function XUiRiftBattleRoomProxy:EnterFight(team, stageId, challengeCount, isAssist)
XDataCenter.RiftManager.EnterFight(team)
end
function XUiRiftBattleRoomProxy:OnBtnAttributeClick()
XLuaUiManager.Open("UiRiftAttribute")
end
return XUiRiftBattleRoomProxy