Major Update - 2.0.0.143

EN: 2.0.0.143
CN: 2.0.0.142
JP: 2.0.0.145
KR: 2.0.0.150
This commit is contained in:
SL1900
2026-10-20 13:00:00 +09:00
parent 4bcada6061
commit 08b515afd9
1773 changed files with 1095195 additions and 65670 deletions
+112
View File
@@ -0,0 +1,112 @@
local OptionMultiSelect = class("OptionMultiSelect", BaseCtrl)
OptionMultiSelect._mapNodeConfig = {
txtOptionTitle = {sComponentName = "TMP_Text"},
svList = {
sComponentName = "RectTransform"
},
btnReset = {
sComponentName = "UIButton",
callback = "OnBtnClick_Reset"
},
ListItem = {}
}
OptionMultiSelect._mapEventConfig = {}
function OptionMultiSelect:Init(tbTextList, sTitle, callback)
NovaAPI.SetTMPText(self._mapNode.txtOptionTitle, sTitle)
self.callback = callback
self.tbCurSelect = {}
self.nItemCount = #tbTextList
self:ClearGrids()
for k, v in pairs(self.tbGo) do
if k > self.nItemCount then
v:SetActive(false)
end
end
for i = 1, self.nItemCount do
do
local item = self.tbGo[i]
if item == nil then
item = instantiate(self._mapNode.ListItem, self._mapNode.svList)
end
self.tbGo[i] = item
item:SetActive(true)
local ctrl = self:BindCtrlByNode(item, "Game.UI.Settings.OptionMultiSelectGrid")
if ctrl ~= nil then
ctrl:Init(tbTextList[i])
local btn = item:GetComponent("UIButton")
btn.onClick:RemoveAllListeners()
btn.onClick:AddListener(function()
self:OnGridClick(i)
end)
table.insert(self.tbItem, ctrl)
end
end
end
end
function OptionMultiSelect:OnGridClick(nBtnIndex)
local nIndexOfThis = table.indexof(self.tbCurSelect, nBtnIndex)
if 0 < nIndexOfThis then
table.remove(self.tbCurSelect, nIndexOfThis)
self.tbItem[nBtnIndex]:SetSelect(false, 0)
for k, v in pairs(self.tbCurSelect) do
self.tbItem[v]:SetSelect(true, k)
end
else
table.insert(self.tbCurSelect, nBtnIndex)
self.tbItem[nBtnIndex]:SetSelect(true, #self.tbCurSelect)
end
if self.callback ~= nil then
self.callback(self.tbCurSelect)
end
end
function OptionMultiSelect:SetSelect(tbSelect)
self:Reset()
self.tbCurSelect = tbSelect
if self.tbItem ~= nil then
for k, v in pairs(self.tbCurSelect) do
self.tbItem[v]:SetSelect(true, k)
end
else
self:Reset()
end
end
function OptionMultiSelect:Reset()
for i = 1, self.nItemCount do
self.tbItem[i]:SetSelect(false, 0)
end
self.tbCurSelect = {}
end
function OptionMultiSelect:ClearGrids()
if self.tbItem ~= nil then
for i = #self.tbItem, 1, -1 do
local item = self.tbItem[i].gameObject
local btn = item:GetComponent("UIButton")
btn.onClick:RemoveAllListeners()
self:UnbindCtrlByNode(self.tbItem[i])
table.remove(self.tbItem, i)
end
end
self.tbItem = {}
end
function OptionMultiSelect:Awake()
self.tbGo = {}
end
function OptionMultiSelect:OnEnable()
self._mapNode.ListItem:SetActive(false)
end
function OptionMultiSelect:OnDisable()
self:ClearGrids()
end
function OptionMultiSelect:OnDestroy()
for k, v in pairs(self.tbGo) do
destroy(v)
end
self.tbGo = {}
end
function OptionMultiSelect:OnBtnClick_Reset()
self:Reset()
if self.callback ~= nil then
self.callback(self.tbCurSelect)
end
end
return OptionMultiSelect
@@ -0,0 +1,32 @@
local OptionMultiSelectGrid = class("OptionMultiSelectGrid", BaseCtrl)
OptionMultiSelectGrid._mapNodeConfig = {
imgChooseOutter = {},
imgChooseInner = {},
txtSortNum = {sComponentName = "TMP_Text"},
txtGrid = {sComponentName = "TMP_Text"}
}
OptionMultiSelectGrid._mapEventConfig = {}
function OptionMultiSelectGrid:OnEnable()
self.nIndex = 0
self.nSort = 0
end
function OptionMultiSelectGrid:Init(sTitle, nIndex)
self.nIndex = nIndex
NovaAPI.SetTMPText(self._mapNode.txtGrid, sTitle)
self._mapNode.imgChooseOutter:SetActive(false)
self._mapNode.imgChooseInner:SetActive(false)
NovaAPI.SetTMPText(self._mapNode.txtSortNum, "")
end
function OptionMultiSelectGrid:SetSelect(bSelect, nSort)
self.nSort = nSort
NovaAPI.SetTMPText(self._mapNode.txtSortNum, nSort)
self._mapNode.imgChooseOutter:SetActive(bSelect)
self._mapNode.imgChooseInner:SetActive(bSelect)
end
function OptionMultiSelectGrid:GetIndex()
return self.nIndex
end
function OptionMultiSelectGrid:GetSort()
return self.nSort
end
return OptionMultiSelectGrid
+13 -2
View File
@@ -19,20 +19,31 @@ OptionSwitchCtrl._mapEventConfig = {}
function OptionSwitchCtrl:SetText(sTitle)
NovaAPI.SetTMPText(self._mapNode.txtOptionTitle, sTitle)
end
function OptionSwitchCtrl:Init(callback, bOn)
function OptionSwitchCtrl:Init(callback, bOn, sGrayText)
self.bEnable = true
self.bOn = bOn
self.callback = callback
self.sGrayText = sGrayText
self._mapNode.btnSwitch[1].gameObject:SetActive(not self.bOn)
self._mapNode.btnSwitch[2].gameObject:SetActive(self.bOn)
end
function OptionSwitchCtrl:SetEnable(bOn)
self.bEnable = bOn
end
function OptionSwitchCtrl:SetOn(bOn)
self.bOn = bOn
self._mapNode.btnSwitch[1].gameObject:SetActive(not self.bOn)
self._mapNode.btnSwitch[2].gameObject:SetActive(self.bOn)
end
function OptionSwitchCtrl:OnBtnClick_Switch(btn, nIndex)
if not self.bEnable then
if self.sGrayText ~= nil then
EventManager.Hit(EventId.OpenMessageBox, self.sGrayText)
end
return
end
self.bOn = not self.bOn
self.callback()
self.callback(self.bOn)
self._mapNode.btnSwitch[1].gameObject:SetActive(nIndex == 2)
self._mapNode.btnSwitch[2].gameObject:SetActive(nIndex == 1)
end
@@ -23,6 +23,10 @@ SettingsBattleCtrl._mapNodeConfig = {
sComponentName = "TMP_Text",
sLanguageId = "Settings_BattleHUD_Title"
},
txtAnim4 = {
sComponentName = "TMP_Text",
sLanguageId = "Settings_DamageHUD_Title"
},
Anim1 = {
sCtrlName = "Game.UI.Settings.OptionChooseCtrl"
},
@@ -32,6 +36,9 @@ SettingsBattleCtrl._mapNodeConfig = {
Anim3 = {
sCtrlName = "Game.UI.Settings.OptionChooseCtrl"
},
Anim4 = {
sCtrlName = "Game.UI.Settings.OptionChooseCtrl"
},
JoyStick = {
sCtrlName = "Game.UI.Settings.OptionSwitchCtrl"
},
@@ -53,6 +60,7 @@ function SettingsBattleCtrl:RefreshText()
self._mapNode.Anim1:SetText(ConfigTable.GetUIText("Settings_Animation_One"), ConfigTable.GetUIText("Settings_Animation_Open"), ConfigTable.GetUIText("Settings_Animation_Close"))
self._mapNode.Anim2:SetText(ConfigTable.GetUIText("Settings_Animation_One"), ConfigTable.GetUIText("Settings_Animation_Open"), ConfigTable.GetUIText("Settings_Animation_Close"))
self._mapNode.Anim3:SetText(ConfigTable.GetUIText("Settings_BattleHUD_Type1"), ConfigTable.GetUIText("Settings_BattleHUD_Type2"), "")
self._mapNode.Anim4:SetText(ConfigTable.GetUIText("Settings_DamageHUD_Default"), ConfigTable.GetUIText("Settings_DamageHUD_Merge"), ConfigTable.GetUIText("Settings_DamageHUD_Close"))
self._mapNode.JoyStick:SetText(ConfigTable.GetUIText("Settings_JoyStick"))
self._mapNode.Gizmos:SetText(ConfigTable.GetUIText("Settings_Gizmos"))
self._mapNode.Mouse:SetText(ConfigTable.GetUIText("Settings_Mouse"))
@@ -114,6 +122,10 @@ function SettingsBattleCtrl:LoadSetting()
self.autoUlt = not self.autoUlt
UIGameSystemSetup.Instance.EnableAutoUlt = self.autoUlt
end, self.autoUlt)
self.hudDamage = self._panel:LoadLocalData("HudDamageShow")
self._mapNode.Anim4:Init(function(index)
self.hudDamage = index
end, self.hudDamage)
end
function SettingsBattleCtrl:SaveSetting()
self._panel:SaveLocalData("Animation", self.battleAnim)
@@ -125,6 +137,7 @@ function SettingsBattleCtrl:SaveSetting()
self._panel:SaveLocalData("Gizmos", self.gizmos)
self._panel:SaveLocalData("AutoUlt", self.autoUlt)
self._panel:SaveLocalData("BattleHUD", self.battleHud)
self._panel:SaveLocalData("HudDamageShow", self.hudDamage)
end
function SettingsBattleCtrl:Awake()
self.bInit = false