Initial version - 1.2.0.60

EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
This commit is contained in:
SL1900
2025-12-03 01:00:00 +09:00
commit 5e0d58cfad
3595 changed files with 9373562 additions and 0 deletions
@@ -0,0 +1,80 @@
local ExchangeCodeCtrl = class("ExchangeCodeCtrl", BaseCtrl)
ExchangeCodeCtrl._mapNodeConfig = {
txtWindowTitle = {
sComponentName = "TMP_Text",
sLanguageId = "Settings_Account_ExchangeCode"
},
txtCodeDesc = {
sComponentName = "TMP_Text",
sLanguageId = "Settings_Account_CodeTips"
},
input = {
sComponentName = "TMP_InputField"
},
btnClose = {sComponentName = "UIButton", callback = "ClosePanel"},
btnClose1 = {sComponentName = "UIButton", callback = "ClosePanel"},
btnConfirm2 = {
sComponentName = "UIButton",
callback = "OnBtnClick_Confirm"
},
txtBtnConfirm = {
sComponentName = "TMP_Text",
sLanguageId = "MessageBox_Confirm"
},
animator = {
sNodeName = "---Exchange---",
sComponentName = "Animator"
}
}
ExchangeCodeCtrl._mapEventConfig = {}
function ExchangeCodeCtrl:Refresh()
NovaAPI.SetTMPInputFieldText(self._mapNode.input, "")
end
function ExchangeCodeCtrl:PlayInAni()
self.gameObject:SetActive(true)
self._mapNode.animator:Play("t_window_04_t_in")
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
end
function ExchangeCodeCtrl:PlayOutAni(callback)
self._mapNode.animator:Play("t_window_04_t_out")
self:AddTimer(1, 0.2, callback, true, true, true)
end
function ExchangeCodeCtrl:ClosePanel()
local cb = function()
EventManager.Hit(EventId.ClosePanel, PanelId.ExchangeCodePanel)
end
self:PlayOutAni(cb)
end
function ExchangeCodeCtrl:FilterCharacters(text)
local filtered = string.gsub(text, "[^%w]", "")
filtered = string.upper(filtered)
if filtered ~= text then
NovaAPI.SetTMPInputFieldText(self._mapNode.input, filtered)
end
end
function ExchangeCodeCtrl:Awake()
self:Refresh()
self:PlayInAni()
end
function ExchangeCodeCtrl:OnEnable()
self._mapNode.input.onValueChanged:AddListener(function(text)
self:FilterCharacters(text)
end)
end
function ExchangeCodeCtrl:OnDisable()
self._mapNode.input.onValueChanged:RemoveListener(function(text)
self:FilterCharacters(text)
end)
end
function ExchangeCodeCtrl:OnDestroy()
end
function ExchangeCodeCtrl:OnBtnClick_Confirm(btn)
local callback = function(changeInfo)
UTILS.OpenReceiveByChangeInfo(changeInfo, function()
self:ClosePanel()
end)
end
local sCode = NovaAPI.GetTMPInputFieldText(self._mapNode.input)
PlayerData.Base:SendPlayerRedeemCodeReq(sCode, callback)
end
return ExchangeCodeCtrl
@@ -0,0 +1,21 @@
local BasePanel = require("GameCore.UI.BasePanel")
local ExchangeCodePanel = class("ExchangeCodePanel", BasePanel)
ExchangeCodePanel._bIsMainPanel = false
ExchangeCodePanel._sSortingLayerName = AllEnum.SortingLayerName.UI
ExchangeCodePanel._tbDefine = {
{
sPrefabPath = "ExchangeCode/ExchangeCodePanel.prefab",
sCtrlName = "Game.UI.ExchangeCode.ExchangeCodeCtrl"
}
}
function ExchangeCodePanel:Awake()
end
function ExchangeCodePanel:OnEnable()
end
function ExchangeCodePanel:OnDisable()
end
function ExchangeCodePanel:OnDestroy()
end
function ExchangeCodePanel:OnRelease()
end
return ExchangeCodePanel