diff --git a/game/hud/layer.rb b/game/hud/layer.rb index 21ef28d..9c108ba 100644 --- a/game/hud/layer.rb +++ b/game/hud/layer.rb @@ -7,6 +7,7 @@ class HUDLayer def initialize @hud_bg = Gosu::Image.new("assets/images/hud.png", retro: true) @hud_fg = Gosu::Image.new("assets/images/hud_fg.png", retro: true) + @inventory = Inventory.new @health = HealthBar.new(100) @logs = GameLogger.new diff --git a/utils/bus.rb b/utils/bus.rb index 25dd8c6..0513173 100644 --- a/utils/bus.rb +++ b/utils/bus.rb @@ -17,21 +17,6 @@ class EventBus @events[event] << { callback: callback, owner: owner } end - # Subscribe to an event that should only be called once - def once(event, owner = nil, &callback) - wrapper = nil - wrapper = proc do |*args| - callback.call(*args) - off(event, &wrapper) - end - on(event, owner: owner, &wrapper) - end - - # Unsubscribe from an event - def off(event, &callback) - @events[event].reject! { |h| h[:callback] == callback } - end - # For events that return a value (e.g. queries), get the first non-nil response def get(event, *args) @events[event].dup.each do |h| diff --git a/utils/maze.rb b/utils/maze.rb index a6b8aac..34e4d09 100644 --- a/utils/maze.rb +++ b/utils/maze.rb @@ -7,6 +7,7 @@ class MazeData @boss_rooms = [] @start_room = nil + @exit_room = nil crate_rooms! carve_passages_from(0, 0)