5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
105 lines
2.9 KiB
Lua
105 lines
2.9 KiB
Lua
local SettingsResolutionCtrl = class("SettingsResolutionCtrl", BaseCtrl)
|
|
SettingsResolutionCtrl._mapNodeConfig = {
|
|
txtWindowTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Settings_Display_ResolutionTitle"
|
|
},
|
|
btnClose = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Cancel"
|
|
},
|
|
btnCancel = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Cancel"
|
|
},
|
|
btnConfirm1 = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Confirm"
|
|
},
|
|
txtBtnConfirm1 = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "MessageBox_Confirm"
|
|
},
|
|
txtBtnCancel = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "MessageBox_Cancel"
|
|
},
|
|
txtOptionTitle = {nCount = 4, sComponentName = "TMP_Text"},
|
|
btnChoose = {
|
|
nCount = 4,
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Choose"
|
|
},
|
|
Checkmark = {nCount = 4, sComponentName = "Animator"},
|
|
Option = {nCount = 4},
|
|
line = {nCount = 4}
|
|
}
|
|
SettingsResolutionCtrl._mapEventConfig = {}
|
|
function SettingsResolutionCtrl:Open(nResolution, tbResolution)
|
|
self.nIndex = nResolution
|
|
self.tbResolution = tbResolution
|
|
self:PlayInAni()
|
|
self:Refresh()
|
|
end
|
|
function SettingsResolutionCtrl:Refresh()
|
|
local nCount = #self.tbResolution
|
|
if 4 <= nCount then
|
|
self._mapNode.line[4]:SetActive(false)
|
|
else
|
|
self._mapNode.line[nCount]:SetActive(false)
|
|
end
|
|
for i = 1, 4 do
|
|
local sText = self.tbResolution[i]
|
|
if sText then
|
|
self._mapNode.Option[i].gameObject:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtOptionTitle[i], sText)
|
|
else
|
|
self._mapNode.Option[i].gameObject:SetActive(false)
|
|
end
|
|
end
|
|
for i = 1, 4 do
|
|
if i == self.nIndex then
|
|
self._mapNode.Checkmark[i]:Play("checkmark_in", -1, 1)
|
|
else
|
|
self._mapNode.Checkmark[i]:Play("checkmark_out", -1, 1)
|
|
end
|
|
end
|
|
end
|
|
function SettingsResolutionCtrl:PlayInAni()
|
|
self.gameObject:SetActive(true)
|
|
self.ani:Play("t_window_04_t_in")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
end
|
|
function SettingsResolutionCtrl:PlayOutAni()
|
|
self.ani:Play("t_window_04_t_out")
|
|
self:AddTimer(1, 0.2, "Close", true, true, true)
|
|
end
|
|
function SettingsResolutionCtrl:Close()
|
|
self.gameObject:SetActive(false)
|
|
end
|
|
function SettingsResolutionCtrl:Awake()
|
|
self.ani = self.gameObject.transform:GetComponent("Animator")
|
|
end
|
|
function SettingsResolutionCtrl:OnEnable()
|
|
end
|
|
function SettingsResolutionCtrl:OnDisable()
|
|
end
|
|
function SettingsResolutionCtrl:OnDestroy()
|
|
end
|
|
function SettingsResolutionCtrl:OnBtnClick_Cancel(btn)
|
|
EventManager.Hit("SettingsClosePop")
|
|
end
|
|
function SettingsResolutionCtrl:OnBtnClick_Confirm(btn)
|
|
EventManager.Hit("SettingsClosePop")
|
|
EventManager.Hit("SettingsSetResolution", self.nIndex)
|
|
end
|
|
function SettingsResolutionCtrl:OnBtnClick_Choose(btn, index)
|
|
if self.nIndex == index then
|
|
return
|
|
end
|
|
self._mapNode.Checkmark[self.nIndex]:SetTrigger("PlayCheckmarkHide")
|
|
self._mapNode.Checkmark[index]:SetTrigger("PlayCheckmarkShow")
|
|
self.nIndex = index
|
|
end
|
|
return SettingsResolutionCtrl
|