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 = 10 --ret = am.group! state.move_out_done = false state.clear_layers! flayer = Layer("fuel","fuel pipe",50,"data/layer_fuel.png") elayer = Layer("electric","electric wire",10,"data/layer_electric.png") hlayer = Layer("high voltage","high volt cabel",30,"data/layer_hv.png") state.add_layer(flayer) state.add_layer(elayer) state.add_layer(hlayer) --state.money = 500 state.money = 800 state.ship("position").x = 800 state.ship\action(coroutine.create(game.ship_move_in_co)) state.ship("sprite").source = "data/level_11.png" t1 = elayer\mark_square(20,6,"ion thruster") t2 = elayer\mark_square(20,9,"ion thruster") --flayer\mark_square(8,4,"") t3 = hlayer\mark_square(10,8,"high volt source") hlayer\mark_square(10,9,"high volt cabel") hlayer\mark_square(10,10,"high volt cabel") hlayer\mark_square(9,10,"high volt cabel") t4 = flayer\mark_square(13,8,"generator") t5 = elayer\mark_square(13,8,"generator") t6 = hlayer\mark_square(8,4,"laser beam") t7 = hlayer\mark_square(8,5,"laser beam") t8 = hlayer\mark_square(8,10,"laser beam") t9 = hlayer\mark_square(8,11,"laser beam") p1 = flayer\mark_square(7,7,"liquid fuel tank") elayer.node.hidden = true hlayer.node.hidden = true state.selected_layer = flayer state.update = () -> ftiles = flayer\flat_tiles! etiles = elayer\flat_tiles! --Mege the etiles into the ftiles layer so we can check --that hv cabels are not next to normal cables htiles = hlayer\flat_tiles! for _,t in pairs etiles table.insert(htiles,t) --table.merge(htiles,etiles) --table.merge(htiles,hlayer\flat_tiles!) print("htiles before path finding:",htiles) paths,paths2 = nil,nil pass,err = pcall(() -> paths = layer.check_paths{ {t1,t5,etiles}, {t2,t5,etiles}, {t4,p1,ftiles}, } paths2 = layer.check_hv_paths{ {t6,t3,htiles}, {t7,t3,htiles}, {t8,t3,htiles} {t9,t3,htiles} } print("paths:",paths) print("paths2 is",paths2) return (paths and paths2) ) print("pass:",pass,"err:",err) if pass and err state.ship\action(coroutine.create(game.ship_move_out_co)) ui.reload_ui_layers! mod