mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
72 lines
1.7 KiB
Lua
72 lines
1.7 KiB
Lua
-- Show inventory download progressbar
|
|
function open_dialog(player, progress, total)
|
|
if player.gui.screen.inventory_sync_progress then
|
|
player.gui.screen.inventory_sync_progress.destroy()
|
|
end
|
|
if progress == total then
|
|
return -- Hide dialog on completed download
|
|
end
|
|
|
|
local frame = player.gui.screen.add {
|
|
name = "inventory_sync_progress",
|
|
type = "frame",
|
|
direction = "vertical",
|
|
}
|
|
|
|
local titlebar = frame.add {
|
|
type = "flow",
|
|
}
|
|
titlebar.drag_target = frame
|
|
|
|
local title = titlebar.add {
|
|
type = "label",
|
|
style = "frame_title",
|
|
caption = "Inventory sync",
|
|
}
|
|
title.drag_target = frame
|
|
|
|
local filler = titlebar.add {
|
|
type = "empty-widget",
|
|
style = "draggable_space_header",
|
|
}
|
|
filler.style.horizontally_stretchable = "on"
|
|
filler.style.right_margin = 4
|
|
filler.style.height = 24
|
|
filler.drag_target = frame
|
|
|
|
titlebar.add {
|
|
name = "inventory_sync_progress_close_button",
|
|
type = "sprite-button",
|
|
sprite = "utility/close_white",
|
|
hovered_sprite = "utility/close_black",
|
|
clicked_sprite = "utility/close_black",
|
|
style = "frame_action_button",
|
|
}
|
|
|
|
local content = frame.add {
|
|
name = "inventory_sync_progress_dialog_content",
|
|
type = "frame",
|
|
direction = "vertical",
|
|
style = "inside_shallow_frame_with_padding",
|
|
}
|
|
content.style.width = 400
|
|
|
|
local p1 = content.add {
|
|
type = "label",
|
|
caption = "Downloading inventory chunk"..progress.."/"..total,
|
|
}
|
|
p1.style.single_line = false
|
|
p1.style.bottom_margin = 8
|
|
|
|
local progressbar = content.add {
|
|
type = "progressbar",
|
|
value = progress / total,
|
|
}
|
|
progressbar.style.width = 376 -- inside_shallow_frame_with_padding has 12px padding on each side
|
|
|
|
frame.force_auto_center()
|
|
player.opened = frame
|
|
end
|
|
|
|
return open_dialog
|