ro-table/Asstes/Resources/Script/ScenicSpotsPhoto/SSPUploadStatusManager.txt
2025-06-04 05:02:57 +08:00

62 lines
1.7 KiB
Plaintext

autoImport('NetIngScenicSpotPhotoNew')
autoImport('PhotoFileInfo')
SSPUploadStatusManager = class('SSPUploadStatusManager')
SSPUploadStatusManager.ins = nil
function SSPUploadStatusManager.Ins()
if SSPUploadStatusManager.ins == nil then
SSPUploadStatusManager.ins = SSPUploadStatusManager.new()
end
return SSPUploadStatusManager.ins
end
local arraySSID = {}
local indicator = 1
local ticketsCount = 1
function SSPUploadStatusManager:SyncUploadStatusToGameServer(s_scenic_spot_id)
if s_scenic_spot_id ~= nil and #s_scenic_spot_id > 0 then
for i = 1, #s_scenic_spot_id do
local ssID = s_scenic_spot_id[i]
if ssID > 0 then
table.insert(arraySSID, ssID)
end
end
self:DoSyncUploadStatusToGameServer()
end
end
function SSPUploadStatusManager:DoSyncUploadStatusToGameServer()
if #arraySSID > 0 then
if indicator <= #arraySSID then
local endIndicator = math.min(indicator + ticketsCount - 1, #arraySSID)
for i = indicator, endIndicator do
local ssID = arraySSID[i]
NetIngScenicSpotPhotoNew.Ins():CheckExist(
Game.Myself.data.id,
ssID,
function ()
self:RequestUploadOkSceneryUserCmd(ssID, 1)
ticketsCount = ticketsCount + 1
self:DoSyncUploadStatusToGameServer()
end,
function ()
self:RequestUploadOkSceneryUserCmd(ssID, 2)
ticketsCount = ticketsCount + 1
self:DoSyncUploadStatusToGameServer()
end,
PhotoFileInfo.OldExtension
)
ticketsCount = ticketsCount - 1
indicator = indicator + 1
end
else
TableUtility.ArrayClear(arraySSID)
end
end
end
function SSPUploadStatusManager:RequestUploadOkSceneryUserCmd(ss_id, status)
ServiceNUserProxy.Instance:CallUploadOkSceneryUserCmd(ss_id, status)
end