From 02cd8eba19fc1a7df649f0e74f5046bbcc87df88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elm=C4=81rs=20=C4=80boli=C5=86=C5=A1?= Date: Tue, 11 Aug 2020 22:41:55 +0300 Subject: [PATCH] some stuff actually works :D --- core/element.lua | 4 +-- core/signals.lua | 72 ------------------------------------------------ init.lua | 11 ++++---- 3 files changed, 7 insertions(+), 80 deletions(-) delete mode 100644 core/signals.lua diff --git a/core/element.lua b/core/element.lua index 19583d8..0829deb 100644 --- a/core/element.lua +++ b/core/element.lua @@ -12,7 +12,7 @@ local type,pcall = type,pcall setmetatable(element, { __call = function(cls, ...) local self - local func, loader, w, h, param = ... + local func, loader, param = ... self = setmetatable({}, element) self.parentFunc = func @@ -24,7 +24,7 @@ setmetatable(element, { loader(f) end - self:new(w, h, param) + self:new(param) return self end diff --git a/core/signals.lua b/core/signals.lua deleted file mode 100644 index 26b6934..0000000 --- a/core/signals.lua +++ /dev/null @@ -1,72 +0,0 @@ ---Internal event/zone/perf-log system -local signals = {} -signals.__index = signals - -function signals.newController() - return setmetatable({ - stack = {}, - - eventSubs = {}, - zoneSubs = {}, - - startTime = 0, - totalTime = 0 - }, signals) -end - -function signals:push(name) - self.stack[#self.stack+1] = {name = name} - - self.startTime = love.timer.getTime() - - if self.zoneSubs[name] then - for i, e in ipairs(self.zoneSubs[name]) do - if e.on and e.func() then - - end - end - end -end - -function signals:pop() - local name = self.stack[#self.stack].name - - if self.zoneSubs[name] then - for i, e in ipairs(self.zoneSubs[name]) do - if not e.on and e.func() then - - end - end - end - - self.totalTime = love.timer.getTime() - self.startTime - self.stack[#self.stack] = nil -end - -function signals:emitEvent(name, content) - if self.eventSubs[name] then - for i,e in ipairs(self.eventSubs[name]) do - e.func(content) - end - end -end - -function signals:onEvent(func, event) - if not self.eventSubs[event] then - self.eventSubs[event] = {} - end - self.eventSubs[event][#self.eventSubs[event]+1] = {func = func} - -end - ---on - true when new zone is pushed --- false when zone is popped -function signals:onSignal(func, name, on) - if not self.zoneSubs[name] then - self.zoneSubs[name] = {} - end - self.zoneSubs[name][#self.zoneSubs[name]+1] = {func = func, on = on} - -end - -return signals \ No newline at end of file diff --git a/init.lua b/init.lua index 4172d59..f0a8384 100644 --- a/init.lua +++ b/init.lua @@ -14,14 +14,13 @@ helium.elementBuffer = {} helium.__index = helium setmetatable(helium, {__call = function(s, chunk) - return { - __call = function(s, param, w, h) - return helium.element(chunk, nil, w, h, param) - end, + return setmetatable({ draw = function (param, x, y, w, h) return helium.element.immediate(param, chunk, x, y, w, h) end - } + },{__call = function(s, param) + return helium.element(chunk, nil, param) + end,}) end}) function helium.render() @@ -112,7 +111,7 @@ if helium.conf.AUTO_RUN then love.graphics.present() end - + if love.timer then love.timer.sleep(0.001) end end end