big refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-08-21 08:06:22 +02:00
parent 40753f2ac5
commit 8026ae4b91
4 changed files with 65 additions and 63 deletions
+6 -12
View File
@@ -77,19 +77,13 @@ do
end
end
public.orig = {}
public.orig = setmetatable({}, {__index=function(self, key) return self[g][key] end})
function public.hook(name, handler, object)
local orig
if object then
m.orig[object] = m.orig[object] or {}
orig = m.orig[object]
else
object = g
orig = m.orig
end
assert(not orig[name], '"'..name..'" is already hooked.')
orig[name] = object[name]
object[name] = handler
handler = handler or getfenv(2)[name]
object = object or g
orig[object] = orig[object] or {}
assert(not orig[object][name] '"'..name..'" is already hooked into.')
orig[object][name], object[name] = object[name], handler
end
do