|
|
|
local function button(x, y, w, h, text, selected)
|
|
|
|
--x,y is the top left corner of the button
|
|
|
|
local rounding = 30 -- used for rounding the buttons
|
|
|
|
|
|
|
|
if not selected then
|
|
|
|
love.graphics.setColor(love.math.colorFromBytes(41, 134, 204))
|
|
|
|
elseif selected then
|
|
|
|
love.graphics.setColor(love.math.colorFromBytes(244, 67, 54))
|
|
|
|
end
|
|
|
|
-- Draw rectangle
|
|
|
|
love.graphics.rectangle("fill", x, y, w, h, rounding, rounding)
|
|
|
|
|
|
|
|
-- Get width and height of text
|
|
|
|
local tw = MenuFont:getWidth(text)
|
|
|
|
local th = MenuFont:getHeight(text)
|
|
|
|
-- Calculate position to center the text
|
|
|
|
local textX = x + (w - tw) / 2
|
|
|
|
local textY = y + (h - th) / 2
|
|
|
|
-- Place text inside the rectangle
|
|
|
|
love.graphics.setFont(MenuFont)
|
|
|
|
love.graphics.setColor(1, 1, 1) -- reset colours
|
|
|
|
love.graphics.print(text, textX, textY)
|
|
|
|
end
|
|
|
|
|
|
|
|
function DrawPause()
|
|
|
|
local opacity = 0.3
|
|
|
|
local height = love.graphics.getHeight()
|
|
|
|
local width = love.graphics.getWidth()
|
|
|
|
local bwidth, bheight = 300, 140
|
|
|
|
love.graphics.setFont(GameFont)
|
|
|
|
|
|
|
|
DrawGame() --Draw a single frame of the game
|
|
|
|
love.graphics.setColor(0.1, 0.1, 0.1, opacity) --overlay opaque img
|
|
|
|
love.graphics.rectangle("fill", 0, 0, width, height)
|
|
|
|
|
|
|
|
love.graphics.setColor(1, 1, 1)
|
|
|
|
love.graphics.print("PAUSED", 100, 100)
|
|
|
|
--love.graphics.print("" .. PAUSE_POS, 200,200)
|
|
|
|
|
|
|
|
button(100, 200, bwidth, bheight, "Return", PAUSE_POS == 0 and true or false)
|
|
|
|
button(100, 350, bwidth, bheight, "Menu", PAUSE_POS == 1 and true or false)
|
|
|
|
button(100, 500, bwidth, bheight, "Quit", PAUSE_POS == 2 and true or false)
|
|
|
|
love.graphics.setColor(255, 255, 255) -- reset colours
|
|
|
|
end
|