aboutsummaryrefslogtreecommitdiff
path: root/src/level3.moon
blob: 1ca0b7ae5e950df2524486a0ddc1ee4e40ef4905 (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
layer = require "layers"
game = require "game"
state = require "global"
graph = require "graph"
import Layer from layer
ui = require "ui"

mod = ...

mod.setup_level = () ->
	state.current_level = 3
	--ret = am.group!
	state.move_out_done = false
	state.clear_layers!
	elayer = Layer("fuel","fuel pipe",50,"data/layer_fuel.png")
	state.add_layer(elayer)
	state.money = 100
	state.ship("position").x = 800
	state.ship\action(coroutine.create(game.ship_move_in_co))
	state.ship("sprite").source = "data/level_3.png"
	t1 = elayer\mark_square(11,8,"liquid fuel thruster")
	t2 = elayer\mark_square(11,7,"liquid fuel thruster")
	p1 = elayer\mark_square(6,6,"liquid fuel tank")
	p2 = elayer\mark_square(6,9,"liquid fuel tank")
	elayer\mark_square(9,7,"fuel pipe")
	elayer\mark_square(9,8,"fuel pipe")
	elayer\mark_square(10,8,"fuel pipe")
	state.selected_layer = elayer
	state.update = () ->
		flat_tiles = elayer\flat_tiles!
		path1 = graph.path(t1,p1,flat_tiles,false,elayer.tiles_adjacent)
		path2 = graph.path(t1,p2,flat_tiles,false,elayer.tiles_adjacent)
		path3 = graph.path(t2,p1,flat_tiles,false,elayer.tiles_adjacent)
		path4 = graph.path(t2,p2,flat_tiles,false,elayer.tiles_adjacent)
		--print("selected layer:",state.active_layer)
		if (path1 or path2) and (path3 or path4)
			state.ship\action(coroutine.create(game.ship_move_out_co))
	ui.reload_ui_layers!

mod