More miniFixes

This commit is contained in:
qfx 2020-02-23 13:12:48 +02:00
parent ed3a695c51
commit bac6287135
3 changed files with 12 additions and 16 deletions

View File

@ -3,4 +3,5 @@ return {
AUTO_RUN = true, --Replaces the default love.run AUTO_RUN = true, --Replaces the default love.run
DEBUG = true, --Reserved for later DEBUG = true, --Reserved for later
PURE_G = true, --whether to keep _G pure PURE_G = true, --whether to keep _G pure
HARD_ERROR = true, --Whether to display element errors inside or hard cras
} }

View File

@ -266,6 +266,9 @@ function element:classlessRender()
love.graphics.pop() love.graphics.pop()
if not status then if not status then
if helium.conf.HARD_ERROR then
error(status)
end
setColor(1,0,0) setColor(1,0,0)
rectangle('line',0,0,self.view.w,self.view.h) rectangle('line',0,0,self.view.w,self.view.h)
setColor(1,1,1) setColor(1,1,1)
@ -273,6 +276,9 @@ function element:classlessRender()
end end
elseif type(self.renderer)=='string' then elseif type(self.renderer)=='string' then
if helium.conf.HARD_ERROR then
error(self.renderer)
end
setColor(1,0,0) setColor(1,0,0)
rectangle('line',0,0,self.view.w,self.view.h) rectangle('line',0,0,self.view.w,self.view.h)
setColor(1,1,1) setColor(1,1,1)
@ -326,6 +332,7 @@ function element:externalUpdate()
self.settings.needsRendering = true self.settings.needsRendering = true
self.settings.pendingUpdate = false self.settings.pendingUpdate = false
end end
return self.settings.remove
end end
local insert = table.insert local insert = table.insert
@ -334,13 +341,13 @@ local insert = table.insert
---@param x number ---@param x number
---@param y number ---@param y number
function element:draw(x, y) function element:draw(x, y)
self.settings.remove =false
if not self.view.lock then if not self.view.lock then
if x then self.view.x = x end if x then self.view.x = x end
if y then self.view.y = y end if y then self.view.y = y end
end end
if self.settings.firstDraw then if self.settings.firstDraw then
self.settings.remove = false
if self.baseState.onFirstDraw then if self.baseState.onFirstDraw then
self.baseState.onFirstDraw() self.baseState.onFirstDraw()
end end

View File

@ -32,23 +32,11 @@ function helium.update(dt)
helium.loader.update(dt) helium.loader.update(dt)
end end
local remove = false for i = #helium.elementBuffer, 1, -1 do
if helium.elementBuffer[i]:externalUpdate() then
for i, e in ipairs(helium.elementBuffer) do table.remove(helium.elementBuffer,i)
if e.settings.remove then
remove = true
else
e:externalUpdate()
end end
end end
if remove then
helium.utils.ArrayRemove(helium.elementBuffer, function(t, i)
--returns false or (true if nil)
return (t[i].settings.remove)
end)
end
end end
--[[ --[[