Class: Ra::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/ra/engine.rb

Overview

An engine takes uses a world / camera to generate a canvas.

Constant Summary collapse

PRECISION =
255

Instance Method Summary collapse

Constructor Details

#initialize(world:, camera:) ⇒ Engine

Returns a new instance of Engine.

Parameters:



10
11
12
13
# File 'lib/ra/engine.rb', line 10

def initialize(world:, camera:)
  @world = world
  @camera = camera
end

Instance Method Details

#renderRa::Canvas

Returns:



16
17
18
19
20
21
22
23
24
# File 'lib/ra/engine.rb', line 16

def render
  Ra::Canvas.new(w: @camera.w, h: @camera.h, precision: PRECISION).tap do |canvas|
    @camera.h.times do |y|
      @camera.w.times do |x|
        draw(x:, y:, canvas:)
      end
    end
  end
end