summaryrefslogtreecommitdiff
path: root/client/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'client/main.lua')
-rw-r--r--client/main.lua41
1 files changed, 34 insertions, 7 deletions
diff --git a/client/main.lua b/client/main.lua
index db4b6bf..1d9409f 100644
--- a/client/main.lua
+++ b/client/main.lua
@@ -1,16 +1,20 @@
local gamescene = require"game"
+local utf8 = require 'utf8'
local current_scene
-local function switch_scene(newscene)
+local function switch_scene(newscene,...)
if current_scene.quit then current_scene.quit() end
current_scene = newscene
- if newscene.load then newscene.load() end
+ if newscene.load then newscene.load(...) end
end
local big_font = love.graphics.newFont(72)
local normal_font = love.graphics.getFont()
+local username = 'horace'
+
+
local titlescene = {}
function titlescene.draw()
love.graphics.clear(1,1,1)
@@ -18,19 +22,40 @@ function titlescene.draw()
love.graphics.setColor(0,0,0)
love.graphics.setFont(big_font)
love.graphics.print("hexagon emulator",30,30)
-
love.graphics.setFont(normal_font)
- love.graphics.print("press <enter> to start",40,120)
+
+ love.graphics.print("enter username: ",40,120)
+
+ love.graphics.setColor(0,0,0,0.8)
+ love.graphics.rectangle('fill', 60,150, 3+normal_font:getWidth(username), 15)
+ love.graphics.setColor(1,1,1)
+ love.graphics.print(username, 60, 150)
+
+ love.graphics.setColor(0,0,0)
+ love.graphics.print("press <enter> to start",40,250)
end
-local evilscene
+
function titlescene.keypressed(k,s,r)
- if k=="return" then
+ if k=='backspace' then
+ local b = utf8.offset(username, -1)
+ if b then
+ username = username:sub(1,b-1)
+ end
+ elseif k=="return" then
switch_scene(gamescene)
end
end
+function titlescene.textinput(text)
+ username = username .. text
+end
+
+function titlescene.load()
+ love.keyboard.setKeyRepeat(true)
+end
+
+
-current_scene=titlescene
for _,f in ipairs{
"update",
@@ -46,4 +71,6 @@ for _,f in ipairs{
end
end
+current_scene=titlescene
+current_scene.load()