50 lines
2.3 KiB
Lua
50 lines
2.3 KiB
Lua
local MaintenanceNoticeUI = class("MaintenanceNoticeUI", BaseUI)
|
|
|
|
function MaintenanceNoticeUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function MaintenanceNoticeUI:ctor(params)
|
|
self.content = params and params.content
|
|
self.openTime = params and params.openTime or 0
|
|
end
|
|
|
|
function MaintenanceNoticeUI:getPrefabPath()
|
|
return "assets/prefabs/ui/login/maintenance_notice_ui.prefab"
|
|
end
|
|
|
|
function MaintenanceNoticeUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
uiMap["maintenance_notice_ui.bg.title_bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.NOTICE_TITLE))
|
|
local contentTx = uiMap["maintenance_notice_ui.bg.img_2.scrollrect.viewport.content.content_tx"]
|
|
if self.content == nil or self.content == "" then
|
|
contentTx:setText(I18N:getGlobalText(I18N.GlobalConst.MAINTENANCE_NOTICE_DEFAULT))
|
|
else
|
|
contentTx:setText(self.content)
|
|
end
|
|
local scrollRectHeight = uiMap["maintenance_notice_ui.bg.img_2.scrollrect"]:getRectHeight()
|
|
local topOffset = -contentTx:fastGetAnchoredPositionY()
|
|
contentTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO):ForceMeshUpdate()
|
|
local height = contentTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).renderedHeight
|
|
if height > scrollRectHeight then
|
|
uiMap["maintenance_notice_ui.bg.img_2.scrollrect"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT).movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Elastic
|
|
uiMap["maintenance_notice_ui.bg.img_2.scrollrect.viewport.content"]:setSizeDeltaY(height + topOffset*2)
|
|
else
|
|
uiMap["maintenance_notice_ui.bg.img_2.scrollrect"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT).movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Clamped
|
|
uiMap["maintenance_notice_ui.bg.img_2.scrollrect.viewport.content"]:setSizeDeltaY(scrollRectHeight)
|
|
end
|
|
uiMap["maintenance_notice_ui.bg.img_2.scrollrect.viewport.content"]:setAnchoredPositionY(0)
|
|
uiMap["maintenance_notice_ui.bg.ok_btn"]:addClickListener(function()
|
|
self:closeUI()
|
|
local clientTime = ModuleManager.LoginManager:getServerTime()*1000
|
|
if clientTime >= self.openTime then
|
|
ModuleManager.LoginManager:resetServerListStartTime()
|
|
ModuleManager.LoginManager:getServerList()
|
|
else
|
|
ModuleManager.LoginManager:checkServerOpen()
|
|
end
|
|
end)
|
|
uiMap["maintenance_notice_ui.bg.ok_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
|
|
end
|
|
|
|
return MaintenanceNoticeUI |