diff --git a/engine/script.lua b/engine/script.lua new file mode 100644 index 0000000..3a01042 --- /dev/null +++ b/engine/script.lua @@ -0,0 +1,27 @@ +local self = ... +local engine = require("engine") + +function self.create(element) + element.memhiOriginal = element.memhi + element.memhi = {} + local mt = { + __index = function(t,k) + return element.memhiOriginal[k] + end, + __newindex = function(t,k,v) + element.memhiOriginal[k] = v + if k == "file" then + if element.memlo.script ~= nil then self.destroy(element) end + element.memlo.script = loadfile(engine.path(self._type.. "/" ..v))(element) + end + end + } + setmetatable(element.memhi,mt) +end + +function self.destroy(element) + element.memlo.script.destroy(element) +end + +function self.unload() +end \ No newline at end of file