Optimize area and index finding

This commit is contained in:
ShadowNinja 2013-11-18 17:57:32 -05:00
parent 810a706e5f
commit f98312fe10
1 changed files with 8 additions and 4 deletions

View File

@ -158,16 +158,20 @@ end
-- Returns a area given it's identifier
function areas:getAreaById(id)
for _, area in pairs(self.areas) do
if area.id == id then return area end
if not self.areas[id] then
return nil
end
assert(self.areas[id].id == id)
return self.areas[id]
end
-- Returns a table index for an area given it's identifier
function areas:getIndexById(id)
for i, area in pairs(self.areas) do
if area.id == id then return i end
if not self.areas[id] then
return nil
end
assert(self.areas[id].id == id)
return id
end
-- Re-order areas in table by their identifiers