This commit is contained in:
chenxi 2023-05-08 20:39:33 +08:00
parent 8022de6c90
commit 1ca913bfce
7 changed files with 116 additions and 2 deletions

View File

@ -177,6 +177,7 @@ GConst.ATLAS_PATH = {
ICON_SKILL_ROGUE = "assets/arts/atlas/icon/skill_rogue.asset",
ICON_BUFF = "assets/arts/atlas/icon/buff.asset",
BOUNTY = "assets/arts/atlas/ui/bounty.asset",
UI_SETTING = "assets/arts/atlas/ui/setting.asset",
}
GConst.TOUCH_EVENT = {

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1db3a47fe64cce642a9453b2eac43c74
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
local LanguageCell = class("LanguageCell", BaseCell)
function LanguageCell:refresh(language, selected)
local uiMap = self:getUIMap()
if selected then
uiMap["language_cell.bg"]:setSprite(GConst.ATLAS_PATH.COMMON, "common_board_4")
else
uiMap["language_cell.bg"]:setSprite(GConst.ATLAS_PATH.COMMON, "common_board_3")
end
uiMap["language_cell.name_bg"]:setSprite(GConst.ATLAS_PATH.UI_SETTING, "language_" .. language)
end
function LanguageCell:addClickListener(func)
self:getBaseObject():addClickListener(func)
end
return LanguageCell

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 0aa5175460330d44383c4069d901229a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}

View File

@ -80,8 +80,9 @@ function GameSettingUI:_addListeners()
ModuleManager.GameSettingManager:showLanguageUI()
end)
self.uiMap["game_setting_ui.bg.player_id_btn"]:addClickListener(function()
-- GFunc.copyStr(objectId)
self.uiMap["game_setting_ui.bg.player_bg.player_id_btn"]:addClickListener(function()
local acountId = DataManager.PlayerData:getAcountId() or GConst.EMPTY_STRING
GFunc.copyStr(acountId)
end)
self.uiMap["game_setting_ui.bg.tx_1"]:addClickListener(function()

View File

@ -0,0 +1,67 @@
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

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 62a3daa3b0d6b444a8d0d42bb69d8dea
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}