forked from endernon/PGRData
51 lines
No EOL
1.6 KiB
Lua
51 lines
No EOL
1.6 KiB
Lua
local XUiTheatre3EquipmentTip = require("XUi/XUiTheatre3/Equip/XUiTheatre3EquipmentTip")
|
|
|
|
---@class XUiTheatre3BubbleEquipment : XLuaUi 装备Tip、套装Tip
|
|
---@field _Control XTheatre3Control
|
|
local XUiTheatre3BubbleEquipment = XLuaUiManager.Register(XLuaUi, "UiTheatre3BubbleEquipment")
|
|
|
|
function XUiTheatre3BubbleEquipment:OnAwake()
|
|
self:RegisterClickEvent(self.BtnEmpty, self.Close)
|
|
end
|
|
|
|
function XUiTheatre3BubbleEquipment:OnStart(param)
|
|
self._Param = param
|
|
self:InitComponent()
|
|
self:UpdateView()
|
|
end
|
|
|
|
function XUiTheatre3BubbleEquipment:OnDestroy()
|
|
if self._Param.closeCallBack then
|
|
self._Param.closeCallBack()
|
|
end
|
|
end
|
|
|
|
function XUiTheatre3BubbleEquipment:InitComponent()
|
|
---@type XUiTheatre3EquipmentTip
|
|
self._Tip = XUiTheatre3EquipmentTip.New(self.BubbleEquipment, self)
|
|
end
|
|
|
|
function XUiTheatre3BubbleEquipment:UpdateView()
|
|
if self._Param.btnCallBack then
|
|
self._Tip:ShowEquipTip(self._Param.equipId, self._Param.btnTxt or "", handler(self, self.DoCallBack))
|
|
else
|
|
self._Tip:ShowEquipTip(self._Param.equipId)
|
|
end
|
|
if self._Param.tipWorldPos then
|
|
self._Tip:SetPosition(self._Param.tipWorldPos)
|
|
elseif self._Param.Align and self._Param.DimObj then
|
|
-- 异形屏适配
|
|
self._Tip:Close()
|
|
XScheduleManager.ScheduleOnce(function()
|
|
self._Tip:Open()
|
|
self._Tip:SetPositionByAlign(self._Param.DimObj, self._Param.Align)
|
|
end, 1)
|
|
end
|
|
end
|
|
|
|
function XUiTheatre3BubbleEquipment:DoCallBack()
|
|
self:Close()
|
|
self._Param.btnCallBack()
|
|
end
|
|
|
|
return XUiTheatre3BubbleEquipment |