diff options
Diffstat (limited to 'src/ui.moon')
| -rw-r--r-- | src/ui.moon | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/ui.moon b/src/ui.moon new file mode 100644 index 0000000..4adcde0 --- /dev/null +++ b/src/ui.moon @@ -0,0 +1,70 @@ +--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 |
