summaryrefslogtreecommitdiffhomepage
path: root/lib/01-render.rb
blob: 635b29547aa95adf64fd36bfdb6b81346e4d945f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

FF::Scn::Default.add(FelFlame::Systems.new('Render', priority: 99) do
  FelFlame::Components::Boids.each do |boid|
    renderable = boid.entities[0].components[FF::Cmp::BoidVisuals][0]
    pad = if boid.flipped
            -renderable.obj.width
          else
            0
          end
    renderable.vect.x1 = renderable.obj.x = boid.x + renderable.obj.width + (pad * 3)
    renderable.vect.y1 = renderable.obj.y = boid.y + renderable.obj.height
    renderable.vect.x2 = renderable.vect.x1 += renderable.obj.width / 2.0
    renderable.vect.y2 = renderable.vect.y1 += renderable.obj.height / 2.0

    renderable.vect.x2 += (boid.vx * 10.0)
    renderable.vect.y2 += (boid.vy * 10.0)
  end
  Camera._redraw
end)