## Nathan Hinton ## A number consumer that will create numbers when an extractor is placed on it. CONSUMER_DEBUG = false class Consumer attr_reader :x, :y # Create consumer at a position with the number and rate specified # @param x [Integer] X position to start at # @param y [Integer] Y position to start at # @param number [Integer] The number to produce # @param rate [Integer] The speed in numbers per second to produce def initialize(x, y) @x = x @y = y @image = Gosu::Image.new('assets/images/background_square.png', {:tileable => true}) end # Creates numbers depending on the rate. This is done with knowing that the # game is 30 fps so we use that for a counter # @param delta_mult [Float] The delta multiplier for any actions def update(delta_mult) end # Draw the consumer. Uses the camera x and y to shift where it should draw # @param camera_x [Integer] The camera X position # @param camera_y [Integer] The camera Y position # @param camera_zoom [Float] The camera zoom def draw(camera_x, camera_y, camera_zoom) if CONSUMER_DEBUG puts "Drawing at #{@x - camera_x}, #{@y - camera_y}" end @image.draw(camera_zoom * (@x - camera_x), camera_zoom * (@y - camera_y), 0, camera_zoom, camera_zoom) end end