Make series_enter_choice linear complexity instead of quadratic.
This commit is contained in:
parent
fec7f4a25b
commit
7a57d6167f
@ -116,15 +116,16 @@ local function series_enter_choice(player, id)
|
|||||||
local boxes = db.series_get_boxes(id)
|
local boxes = db.series_get_boxes(id)
|
||||||
local player_id = db.player_get_id(name)
|
local player_id = db.player_get_id(name)
|
||||||
local completed = db.player_get_series_boxes(player_id, id)
|
local completed = db.player_get_series_boxes(player_id, id)
|
||||||
|
local complete = {}
|
||||||
|
for _, v in ipairs(completed) do
|
||||||
|
complete[v] = true
|
||||||
|
end
|
||||||
for k, box_id in pairs(boxes) do
|
for k, box_id in pairs(boxes) do
|
||||||
local bmeta = db.box_get_meta(box_id)
|
local bmeta = db.box_get_meta(box_id)
|
||||||
local bname = bmeta.meta.box_name or "[unnamed]"
|
local bname = bmeta.meta.box_name or "[unnamed]"
|
||||||
local color = "#c0c0c0"
|
local color = "#c0c0c0"
|
||||||
for _, v in ipairs(completed) do
|
if complete[box_id] then
|
||||||
if v == box_id then
|
color = "#00ff00"
|
||||||
color = "#00ff00"
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
f = f .. color
|
f = f .. color
|
||||||
f = f .. minetest.formspec_escape("[" .. box_id .. "] " .. bname)
|
f = f .. minetest.formspec_escape("[" .. box_id .. "] " .. bname)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user