countdown: Very important node
parent
aac427a19c
commit
303e342807
|
@ -0,0 +1,55 @@
|
|||
local node = Node:extend('nodes.countdown', {
|
||||
target = 1498780800,
|
||||
description = 'to get the fuck out of here',
|
||||
precision = 3,
|
||||
})
|
||||
|
||||
local textFont = love.graphics.newFont('fonts/Lato-Thin.ttf', 100)
|
||||
local smallFont = love.graphics.newFont('fonts/Lato-Light.ttf', 60)
|
||||
|
||||
function node:init(config)
|
||||
node.super.init(self, config)
|
||||
end
|
||||
|
||||
function timefmt(time, precision)
|
||||
precision = precision or 3
|
||||
|
||||
local p = {
|
||||
{60, "seconds"},
|
||||
{60, "minutes"},
|
||||
{24, "hours"},
|
||||
{7, "days"},
|
||||
{nil, "weeks"},
|
||||
}
|
||||
local parts = {}
|
||||
local v
|
||||
for i, e in ipairs(p) do
|
||||
if e[1] == nil then
|
||||
v = time
|
||||
else
|
||||
v = time % e[1]
|
||||
time = math.floor(time / e[1])
|
||||
end
|
||||
|
||||
if v ~= 0 then
|
||||
table.insert(parts, 1, tostring(v) .. " " .. e[2])
|
||||
end
|
||||
end
|
||||
|
||||
return table.concat(lume.slice(parts, 1, precision), " ")
|
||||
end
|
||||
|
||||
function node:render()
|
||||
love.graphics.setColor( 0, 0, 0 )
|
||||
love.graphics.rectangle("fill", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())
|
||||
|
||||
love.graphics.setColor( 255, 255, 255 )
|
||||
|
||||
love.graphics.setFont(textFont);
|
||||
love.graphics.printf(timefmt(math.abs(self.target - os.time()), self.precision), 0, 0.3*love.graphics.getHeight(), love.graphics.getWidth(), 'center');
|
||||
|
||||
love.graphics.setFont(smallFont);
|
||||
love.graphics.printf(self.description, 0, 0.7*love.graphics.getHeight(), love.graphics.getWidth(), 'center');
|
||||
end
|
||||
|
||||
return node
|
Loading…
Reference in New Issue