--UI things state = require "global" disp = require "dispatch" mod = ... money_text credits_ui layers = am.group! mod.managerstuff mod.manager_text mod.manager_talking = true mod.make_ui = () -> to = disp.normal_to_window(vec2(100,25)) money_bg = am.translate(to) ^ am.scale(1) ^ am.rotate(0) ^ am.sprite("data/money_background.png") money_text = am.translate(to) ^ am.scale(1) ^ am.rotate(0) ^ am.text("")\tag "sprite" mod.managerstuff = am.group! manager_portrait = am.translate(-512 + 128,-128) ^ am.scale(1) ^ am.rotate(0) ^ am.sprite("data/manage_portrait.png") manager_background = am.translate(0,-128) ^ am.scale(1) ^ am.rotate(0) ^ am.sprite("data/manage_chatbox.png") mod.manager_text = am.translate(-256 + 32,-256 + 90) ^ am.scale(1) ^ am.rotate(0) ^ am.text("This is some text",vec4(1,1,1,1),"left","top")\tag("text") print("mod.manager_text is:",mod.manager_text) continue_text = am.translate(-256 + 32,-256 + 32) ^ am.scale(1) ^ am.rotate(0) ^ am.text("Press space to continue...",vec4(0,0,0,1),"left","top") mod.managerstuff\append(manager_portrait) mod.managerstuff\append(manager_background) mod.managerstuff\append(mod.manager_text) mod.managerstuff\append(continue_text) mod.managerstuff.hidden = true money_text\action(coroutine.create(() -> while true money_text("sprite").text = string.format("%d credits", state.money) coroutine.yield! )) ret = am.group! ^ {money_bg, money_text, layers, mod.managerstuff} credits_ui = ret ret mod.reload_ui_layers = () -> layer_sprites = {} for i,layer in pairs state.layer_tbl if state.current_level < 4 then layer.hidden = true -- hide layer selection until lvl 5 else layer.hidden = false selected_layer = am.translate(state.win.right-32,128 - (64*i))\tag("position") ^ am.rotate(0) ^ am.sprite(layer.icon) selected_layer\append(am.sprite("data/selected_layer_outline.png")\tag("outline")) selected_layer("outline").color = vec4(0.4,0.4,0.4,1) layers\append(selected_layer) if state.selected_layer == layer selected_layer("outline").color = vec4(1,1,1,1) mod.hide_ui = () -> credits_ui.hidden = true mod.hide_ui = () -> credits_ui.hidden = false mod.manager_say = (text) -> mod.managerstuff.hidden = false print("Setting text:",text) mod.manager_text("text").text = text mod.manager_talking = true mod.managerstuff\action(coroutine.create(() -> while not state.win\key_pressed("space") coroutine.yield! mod.managerstuff.hidden = true mod.manager_talking = false )) print("Completed doing manager say stuff") mod