Files
Endfield-Data/LuaScripts/UI/Panels/InputFieldBg/InputFieldBgCtrl.lua
2025-12-02 20:37:18 +07:00

63 lines
1.3 KiB
Lua

local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
local PANEL_ID = PanelId.InputFieldBg
local PHASE_ID = PhaseId.InputFieldBg
InputFieldBgCtrl = HL.Class('InputFieldBgCtrl', uiCtrl.UICtrl)
InputFieldBgCtrl.s_messages = HL.StaticField(HL.Table) << {
[MessageConst.ON_INPUT_FIELD_BG_HEIGHT_CHANGE] = 'OnBgHeightChange',
[MessageConst.ON_DO_CLOSE_MAP] = 'Close',
}
InputFieldBgCtrl.OnCreate = HL.Override(HL.Any) << function(self, arg)
end
InputFieldBgCtrl.OnShow = HL.Override() << function(self)
self.view.imgBack.gameObject:SetActive(true)
UIUtils.setSizeDeltaY(self.view.imgBack, 0)
end
InputFieldBgCtrl.OnInputFieldBgInit = HL.StaticMethod() << function()
UIManager:AutoOpen(PANEL_ID)
end
InputFieldBgCtrl.OnBgHeightChange = HL.Method(HL.Table) << function(self, arg)
local height = arg[1]
local isActive = arg[2] or false
if isActive then
local uiPos, isInside = UIUtils.screenPointToUI(Vector2(0, height), self.uiCamera, self.view.transform)
UIUtils.setSizeDeltaY(self.view.imgBack, UIManager.uiCanvasRect.rect.height / 2 + uiPos.y)
end
if not isActive then
UIUtils.setSizeDeltaY(self.view.imgBack, 0)
UIManager:Hide(self.panelId)
else
UIManager:Show(self.panelId)
end
end
HL.Commit(InputFieldBgCtrl)