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
71
72
|
--Control utilities
state = require "global"
ui = require "ui"
mod = ...
mod.window_to_normal = (pos) ->
nx = pos.x - state.win.left
ny = pos.y - state.win.top
vec2(nx,-ny)
mod.normal_to_window = (pos) ->
print("in:",pos)
nx = pos.x + state.win.left
ny = -(pos.y) + state.win.top
print("out:",nx,ny)
vec2(nx,ny)
state.layers\action(coroutine.create(()->
while true
if state.win\mouse_pressed("left")
pos = state.win\mouse_position!
--print("Mouse pos:",pos)
npos = mod.window_to_normal(pos)
--print("newpos:", mod.window_to_normal(pos))
gridx, gridy = math.floor(npos.x / 32), math.floor(npos.y / 32)
l = state.selected_layer
--print("Looking at active layer:",l)
tile = l\get_tile(gridx,gridy)
--print("tile:",tile)
if tile and tile.type.cantoggle --we want to remove
l\clear_square(gridx,gridy)
state.money += l.cost
state.play(77430200)
else
if state.money >= l.cost and not tile
state.play(77430200)
state.money -= l.cost
l\toggle_square(gridx,gridy)
state.update!
l\print_grid!
else
state.play(4807804)
if (state.win\key_pressed("1") or state.win\key_pressed("kp_1")) and state.layer_tbl[1]
print("setting selected layer to 1")
state.selected_layer.node.hidden = true
state.selected_layer = state.layer_tbl[1]
state.selected_layer.node.hidden = false
ui.reload_ui_layers!
elseif (state.win\key_pressed("2") or state.win\key_pressed("kp_2")) and state.layer_tbl[2]
print("setting selected layer to 2")
state.selected_layer.node.hidden = true
state.selected_layer = state.layer_tbl[2]
state.selected_layer.node.hidden = false
ui.reload_ui_layers!
elseif (state.win\key_pressed("3") or state.win\key_pressed("kp_3")) and state.layer_tbl[3]
state.selected_layer.node.hidden = true
state.selected_layer = state.layer_tbl[3]
state.selected_layer.node.hidden = false
ui.reload_ui_layers!
elseif (state.win\key_pressed("4") or state.win\key_pressed("kp_4")) and state.layer_tbl[4]
print("setting selected layer to 4")
state.selected_layer.node.hidden = true
state.selected_layer = state.layer_tbl[4]
state.selected_layer.node.hidden = false
ui.reload_ui_layers!
--for layernum, layer in pairs state.layer_tbl do
--if state.selected_layer == layer
--state.selecte
coroutine.yield!
))
mod
|