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:
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user