summaryrefslogtreecommitdiff
path: root/main_menu.lua
blob: 73ba7b17d1481e9476c88e8478c5ff70f560fc62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
local ui = require("ui")
local color = ui.color

local function menubox(title, elem)
    local box_title = ui.text(title, 30, color(0x000000))
    return { box_title = box_title, fill = color(0xa0a0a0), ui.pad_x(20, ui.stack_y(
        ui.pad_y(15, ui.center_x(box_title)),
        elem,
        ui.pad_y(20)
    )) }
end

local function mm_create(actions)
    local host_game = menubox("Host Game", ui.pad_x(10,
        ui.flex(1, ui.button("Create Save")),
        ui.flex(1, ui.button("Load Save"))
    ))

    local invite_code = ui.input("Invite Code")
    local join_game = menubox("Join Game", ui.pad_x(10,
        ui.flex(3, invite_code),
        ui.flex(1, ui.button("Join", function()
            if invite_code.input_value ~= "" then
                actions.join_game(invite_code.input_value)
            end
        end))
    ))

    local edit_map = menubox("Edit Map", ui.button("Open Editor"))

    return ui.new(ui.stack_y(
        ui.pad_y(50, ui.center_x(ui.text("RAINBOW SIX: PANOPTICON", 50, color(0x000000)))),
        ui.stack_x(
            ui.flex(1),
            ui.flex(4, ui.pad_y(20,
                host_game,
                join_game,
                edit_map
            )),
            ui.flex(1)
        )
    ))
end

return {
    box = menubox,
    create = mm_create,
}