Add callbacks for area operations

This commit is contained in:
sofar
2019-04-01 20:28:50 -07:00
committed by GitHub
parent 09c030352f
commit 1bbb997c7a
4 changed files with 36 additions and 4 deletions

View File

@ -93,6 +93,11 @@ function areas:add(owner, name, pos1, pos2, parent)
owner = owner,
parent = parent
}
for i=1, #areas.registered_on_adds do
areas.registered_on_adds[i](id, self.areas[id])
end
-- Add to AreaStore
if self.store then
local sid = self.store:insert_area(pos1, pos2, tostring(id))
@ -125,6 +130,10 @@ function areas:remove(id, recurse)
end
end
for i=1, #areas.registered_on_removes do
areas.registered_on_removes[i](id)
end
-- Remove main entry
self.areas[id] = nil
@ -140,6 +149,11 @@ function areas:move(id, area, pos1, pos2)
area.pos1 = pos1
area.pos2 = pos2
for i=1, #areas.registered_on_moves do
areas.registered_on_moves[i](id, area, pos1, pos2)
end
if self.store then
self.store:remove_area(areas.store_ids[id])
local sid = self.store:insert_area(pos1, pos2, tostring(id))
@ -289,4 +303,3 @@ function areas:isAreaOwner(id, name)
end
return false
end