aboutsummaryrefslogtreecommitdiff
path: root/src/ui.moon
blob: 4adcde0e5e76bf1d6e4a492d8a0805125c6d1967 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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