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
|
layer = require "layers"
game = require "game"
state = require "global"
graph = require "graph"
disp = require "dispatch"
import Layer from layer
ui = require "ui"
print("In level1, Layer is", Layer)
for k,v in pairs layer
print(k,":",v)
mod = ...
mod.setup_level = () ->
state.current_level = 1
--ret = am.group!
state.clear_layers!
elayer = Layer("fuel","fuel pipe",50,"data/layer_fuel.png")
state.add_layer(elayer)
state.ship("sprite").source = "data/level_1.png"
state.money = 200
state.ship\action(coroutine.create(game.ship_move_in_co))
elayer\mark_square(9,8,"liquid fuel thruster")
elayer\mark_square(6,8,"liquid fuel tank")
elayer\mark_square(7,8,"fuel pipe")
--Hint fuel pipe
tp = disp.normal_to_window(vec2((8*32)+16,(8*32)+16))
fuel_hint = am.translate(tp) ^ am.sprite("data/pipe1111_hint.png")\tag "sprite"
elayer.node\append(fuel_hint)
should_hint = true
fuel_hint\action(coroutine.create(() ->
while should_hint
alpha = 0
for i = 1,256,10
fuel_hint("sprite").color = vec4(1,1,1,i/256)
coroutine.yield!
for i = 1,256,10
fuel_hint("sprite").color = vec4(1,1,1,1 - (i/256))
coroutine.yield!
))
state.selected_layer = elayer
state.update = () ->
print("Game level updated!")
flat_tiles = elayer\flat_tiles!
path1 = graph.path(elayer\get_tile(6,8),elayer\get_tile(9,8),flat_tiles,true,elayer.tiles_adjacent)
--path2 = graph.path(elayer\get_tile(6,8),elayer\get_tile(9,7),flat_tiles,false,elayer.tiles_adjacent)
print("path:",path1, path2)
--print("selected layer:",state.active_layer)
if path1
state.ship\action(coroutine.create(game.ship_move_out_co))
ui.reload_ui_layers!
--ret ^ elayer.node
--ret
mod
|