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