PGRData/Script/matrix/xui/xuitheatre/fieldguide/XUiPanelDetailProp.lua

49 lines
No EOL
1.9 KiB
Lua

--信物和道具详情的布局
local XUiPanelDetailProp = XClass(nil, "XUiPanelDetailProp")
function XUiPanelDetailProp:Ctor(ui, isShowUseBtn, selectTokenCb)
self.GameObject = ui.gameObject
self.Transform = ui.transform
XTool.InitUiObject(self)
self.IsShowUseBtn = isShowUseBtn
self.SelectTokenCb = selectTokenCb --选择信物回调
self.TheatreManager = XDataCenter.TheatreManager
self.AdventureManager = self.TheatreManager.GetCurrentAdventureManager()
self.BtnGo:SetName(CsXTextManagerGetText("TheatreUse"))
self:SetButtonCallBack()
end
function XUiPanelDetailProp:SetButtonCallBack()
XUiHelper.RegisterClickEvent(self, self.BtnGo, self.OnBtnGoClick)
end
-- token : XAdventureToken
function XUiPanelDetailProp:Show(token)
self.Token = token
local id = token:GetId()
self.TxtEffectInfo.text = XUiHelper.ConvertLineBreakSymbol(token:GetDescription())
self.TxtWayInfo.text = XUiHelper.ConvertLineBreakSymbol(token:GetExplain())
local fightCountConfig = XTheatreConfigs.GetTheatreItemFightCount(id)
local fightCount = token:GetFightCount()
local isHaveFightCount = XTool.IsNumberValid(fightCountConfig)
local conditionInfo = isHaveFightCount and XUiHelper.GetText("TheatreTokenLevelUpConditionDesc", fightCount, fightCountConfig) or ""
self.TxtConditionInfo.text = XUiHelper.ConvertLineBreakSymbol(conditionInfo)
self.PanelCondition.gameObject:SetActiveEx(isHaveFightCount)
local isToken = XTheatreConfigs.GetTheatreItemType(token:GetId()) == XTheatreConfigs.ItemType.Token
self.BtnGo.gameObject:SetActiveEx((self.IsShowUseBtn and isToken) and true or false)
end
function XUiPanelDetailProp:OnBtnGoClick()
if self.SelectTokenCb then
self.SelectTokenCb(self.Token)
XLuaUiManager.Close("UiTheatreFieldGuide")
end
-- self.AdventureManager:UpdateCurrentToken(self.Token)
end
return XUiPanelDetailProp