log = require("log") ui = require("ui") sprites = require("sprites") game = require("menu.game") window = require("window") color = require("color") x = {} screens = { "This is a game of deception", "You remember joining the cult, right? Of course you do, and more importantly, you remember the words spoken at our founding.", "We have an uninvited guest here tonight, they do not know our phrase, but they do have some idea of what it might be.", "Our time is short and we must begin our work, talk with your fellows to find our uninvited guest.", "Your host can modify time, roles, and the number of uninvited guests in the settings", } x.node = am.group! next_but = nil render_frame = () -> outline = am.group! bg = am.rect((-window.width / 2) - 8,(-window.height / 2) - 8, (window.width / 2) + 8, (window.height / 2) + 8, color.am_color.foreground) bg2 = am.rect((-window.width / 2),(-window.height / 2), (window.width / 2), (window.height / 2), color.am_color.background) --top= am.line(vec2(-window.width/2,window.height/2),vec2(window.width,window.height/2),20,color.am_color.foreground) outline\append(bg) outline\append(bg2) outline x.create = () -> next_but = ui.button(-160, -400+20, 320, 84, "Next") screen_i = 1 hint_t = ui.text(0,400,360,600,screens[screen_i]) next_but.on = () => screen_i += 1 log.info("Advancing tutorial screen, new text is:" .. tostring(screens[screen_i]), {"ui"}) if hint_t ui.delete(hint_t) if not screens[screen_i] x.destroy! hint_t = ui.text(0,400,360,600,screens[screen_i]) if screen_i == 2 scale = am.scale(0.5) text_pos = am.translate(0,-64) text_pos\tag("tutorial") ui.node\append(text_pos) text_pos\append(scale) oldui = ui.node ui.node = am.group! scale\append(ui.node) ui.node\append(render_frame!) game.create_graphic({ youare: "a pawn" poem: "Roses are red, violets are blue, here's a little game for you" time: 600 start: am.eval_js("Date.now()") }) ui.node("timer").hidden = true ui.node("timer").paused = true ui.node = oldui if screen_i == 3 prev_graphic = ui.node("tutorial") if prev_graphic ui.node\remove(prev_graphic) scale = am.scale(0.5) text_pos = am.translate(0,-64) text_pos\tag("tutorial") ui.node\append(text_pos) text_pos\append(scale) oldui = ui.node ui.node = am.group! ui.node\append(render_frame!) scale\append(ui.node) game.create_graphic({ youare: "unmasked" hint: "Flowers and fun" time: 600 start: am.eval_js("Date.now()") }) ui.node("timer").hidden = true ui.node("timer").paused = true ui.node("keep_looking").hidden = true ui.node = oldui if screen_i == 4 prev_graphic = ui.node("tutorial") prev_graphic("timer").hidden = false prev_graphic("timer").paused = false if sceen_i == 5 prev_graphic = ui.node("tutorial") if prev_graphic ui.node\remove(prev_graphic) x.destroy = () -> prev_graphic = ui.node("tutorial") if prev_graphic ui.node\remove(prev_graphic) ui.delete(next_but) require("menu.main").initialize! x