aboutsummaryrefslogtreecommitdiff
path: root/src/ui.moon
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2020-02-02 08:11:08 -0500
committerAlexander Pickering <alex@cogarr.net>2020-02-02 08:11:08 -0500
commit57701059b1b65fc08366318e92d32d9dd7094d25 (patch)
treea569db68d27982d83fead3cc9c8192056c49509f /src/ui.moon
downloaddrydock-57701059b1b65fc08366318e92d32d9dd7094d25.tar.gz
drydock-57701059b1b65fc08366318e92d32d9dd7094d25.tar.bz2
drydock-57701059b1b65fc08366318e92d32d9dd7094d25.zip
inital commit
Diffstat (limited to 'src/ui.moon')
-rw-r--r--src/ui.moon70
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