67 lines
2.0 KiB
Lua
67 lines
2.0 KiB
Lua
local LanguageUI = class("LanguageUI", BaseUI)
|
|
|
|
local LANGUAGE_CELL = "app/ui/game_setting/cell/language_cell"
|
|
|
|
function LanguageUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function LanguageUI:ctor()
|
|
self.languageList = I18N:getSupportLanguageList()
|
|
end
|
|
|
|
function LanguageUI:getPrefabPath()
|
|
return "assets/prefabs/ui/setting/language_ui.prefab"
|
|
end
|
|
|
|
function LanguageUI:onLoadRootComplete()
|
|
self.uiMap = self.root:genAllChildren()
|
|
|
|
self:_display()
|
|
self:_addListeners()
|
|
|
|
self:refreshScrollRect()
|
|
end
|
|
|
|
function LanguageUI:_display()
|
|
local titleTx = self.uiMap["language_ui.bg.title_tx"]
|
|
titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.LANGUAGE_DESC))
|
|
end
|
|
|
|
function LanguageUI:_addListeners()
|
|
local closeBtn = self.uiMap["language_ui.bg.close_btn"]
|
|
closeBtn:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
end
|
|
|
|
function LanguageUI:refreshScrollRect()
|
|
local scroll = self.uiMap["language_ui.bg.scrollrect"]
|
|
self.scrollRect = scroll:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.scrollRect:addInitCallback(function()
|
|
return LANGUAGE_CELL
|
|
end)
|
|
self.scrollRect:addRefreshCallback(function(index, cell)
|
|
local language = self.languageList[index]
|
|
cell:refresh(language)
|
|
cell:addClickListener(function()
|
|
self:closeUI()
|
|
local changeStatus = I18N:setLanguage(language)
|
|
if changeStatus then
|
|
local FontManager = require "app/common/font_manager"
|
|
FontManager:changeLanguage(I18N:getCurLanguage() or GConst.LANGUAGE.ENGLISH, function()
|
|
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.I18N_CHANGE_LANGUAGE)
|
|
UIManager:closeAllUI()
|
|
UIManager:hideToastAndMessageBox()
|
|
UIManager:clearUIPrefabCache()
|
|
UIManager:refreshOnChangeLanguage()
|
|
ModuleManager.MaincityManager:showMainCityUI()
|
|
end)
|
|
end
|
|
end)
|
|
end)
|
|
self.scrollRect:clearCells()
|
|
self.scrollRect:refillCells(#self.languageList)
|
|
end
|
|
|
|
return LanguageUI |