local PreDownloadJP_Controller = {} local private = {} local EventSystem = require 'Event/EventSystem' PreDownloadJP_Controller.NoWifiCanHotFix = "PreDownloadJP_NoWifiCanHotFix" PreDownloadJP_Controller.PreHotfixCode = "PreDownloadJP_PreHotfixCode" PreDownloadJP_Controller.LastPreHotfixCode = "PreDownloadJP_LastPreHotfixCode" function PreDownloadJP_Controller.OnStartup() if GameAppInfo.IsJapanesePackage() then EventSystem.Regist(EventID.UI_Loading_UpdateDownloadProgress, private.UpdateDownloadProgress) end private.IsInUIPreDownloadJPPanel = false private.CanClickPreHotfixBtn = true end function PreDownloadJP_Controller.ReSetWifiCanHotFixState() -- 重新登录 重置 非wifi环境状态 PersistentData.DeviceData:Set(PreDownloadJP_Controller.NoWifiCanHotFix, true, true) end function PreDownloadJP_Controller.JudgeNoWifiHotFix() local noWifiCanHotFix = PersistentData.DeviceData:Get(PreDownloadJP_Controller.NoWifiCanHotFix, true) if noWifiCanHotFix then return CTL.HotFix.Get_IsWifi() else return true end end function PreDownloadJP_Controller.SetInUIPreDownloadJPPanel(isIn) private.IsInUIPreDownloadJPPanel = isIn end function PreDownloadJP_Controller.GetInUIPreDownloadJPPanel() return private.IsInUIPreDownloadJPPanel end function PreDownloadJP_Controller.SetCanClickPreHotfixBtn(canClick) private.CanClickPreHotfixBtn = canClick end function PreDownloadJP_Controller.GetCanClickPreHotfixBtn() return private.CanClickPreHotfixBtn end function PreDownloadJP_Controller.IsPreHotfixFinish() local localPreHotfixCode = CTL.HotFix.GetLocalPreHotfixCode() local preHotfixCode = CTL.HotFix.GetPreHotfixCode() if preHotfixCode and preHotfixCode ~= "0" and localPreHotfixCode ~= "0" then return localPreHotfixCode == preHotfixCode else return false end end function PreDownloadJP_Controller.CanShowPreDownloadJP() local curPreHotfixCode = CTL.HotFix.GetPreHotfixCode() if MDL.PreDownloadJP.GetJapanUpdateContent() and not string.isNilOrEmpty(curPreHotfixCode) and curPreHotfixCode ~= "0" and CTL.HotFix.AllPackageDownload() then return true end return false end function private.UpdateDownloadProgress(curSize, maxSize, speed) if not CTL.HotFix.GetIsPreHotfix() then return end if curSize == maxSize then -- 下载完成 PersistentData.DeviceData:Remove(PreDownloadJP_Controller.PreHotfixCode, true) -- 清空下载完成状态 -- 上报下载完成 MDL.PreDownloadJP.JapanUpdateVersionReq(MDL.PreDownloadJP.VersionGiftState.Send, CTL.HotFix.GetPreHotfixCode()) end end return PreDownloadJP_Controller