diff --git a/two_player_cleaning_game/assets/tiled/tutorial.tmx b/two_player_cleaning_game/assets/tiled/tutorial.tmx index bead53e..fdef201 100644 --- a/two_player_cleaning_game/assets/tiled/tutorial.tmx +++ b/two_player_cleaning_game/assets/tiled/tutorial.tmx @@ -76,7 +76,4 @@ - - - diff --git a/two_player_cleaning_game/src/entities/info-pad.fnl b/two_player_cleaning_game/src/entities/info-pad.fnl new file mode 100644 index 0000000..f56de10 --- /dev/null +++ b/two_player_cleaning_game/src/entities/info-pad.fnl @@ -0,0 +1,31 @@ +(local utils (require "src/utils.fnl")) +(local beholder (require "libs/beholder")) +(local color (require "src/colors.fnl")) +(local levels (require "levels.fnl")) +(local assets (require "src/assets.fnl")) + +(lambda info-pad [x y name] + (let [pad {: x : y : name} + (w h) (assets.objects-sprite:getDimensions)] + (lambda pad.load [self] + (set self.quad (love.graphics.newQuad 75 0 25 25 w h))) + + (fn pad.draw-debug [self] + (color.set-color :black) + (love.graphics.rectangle "line" self.x self.y 25 25)) + + (lambda pad.draw49 [self] + (color.reset-color) + (love.graphics.draw assets.objects-sprite self.quad self.x self.y)) + pad + + + )) + + +info-pad + +; (lambda [{:bump-world bw :level-key key}] +; (set bump-world bw) +; (set level-key key) +; player) diff --git a/two_player_cleaning_game/src/levels/tutorial.fnl b/two_player_cleaning_game/src/levels/tutorial.fnl index cafa807..a834c30 100644 --- a/two_player_cleaning_game/src/levels/tutorial.fnl +++ b/two_player_cleaning_game/src/levels/tutorial.fnl @@ -7,21 +7,17 @@ (local player (require "src/entities/player.fnl")) (local walls (require "src/systems/walls.fnl")) (local hud (require "src/systems/hud.fnl")) +(local levels (require "levels.fnl")) +(local info-pad (require "src/entities/info-pad.fnl")) + +(lambda load-objects [level-key pool] + (each [_ object (pairs (. levels :levels level-key :objects))] + ; (debug-print object) + (case object.type + "info_pad" (pool:queue (info-pad object.x object.y object.name)) + )) +) -; (local colliders { -; :added {} -; }) -; (fn colliders.update [self] -; (each [_ c (ipairs self.pool.groups.colliders.entities)] -; (when (not (. self.added (. c 1))) -; (print "Adding collider to list") -; (utils.debug-print c) -; (tset self.added (. c 1) true) -; ))) - ; (let [obj (. c 1)] - ; (when (not (. self.added obj)) - ; (set self.added obj true) - ; (self.pool.data.bump-world:add (unpack c)))))) (fn load [screen] (let [ @@ -47,6 +43,7 @@ ] })] (pool:queue (player {:bump-world bump-world :level-key :tutorial})) + (load-objects :tutorial pool) pool)) {