diff options
Diffstat (limited to 'lib/02-apply_boid_calculations.rb')
| -rw-r--r-- | lib/02-apply_boid_calculations.rb | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/lib/02-apply_boid_calculations.rb b/lib/02-apply_boid_calculations.rb index e6b070d..5b31b8c 100644 --- a/lib/02-apply_boid_calculations.rb +++ b/lib/02-apply_boid_calculations.rb @@ -1,18 +1,20 @@ +# frozen_string_literal: true + FF::Scn::BoidCalculations.add(FF::Sys.new('ApplyBoidCalculations', priority: 75) do - @center ||= Camera::Circle.new(color: [0.25,0.0,0.5,0.5], + @center ||= Camera::Circle.new(color: [0.25, 0.0, 0.5, 0.5], radius: 10, sectors: 10, - z: -49) - @center_vel ||= Camera::Line.new(color: [0.25,0.0,0.5,0.5], + z: -49) + @center_vel ||= Camera::Line.new(color: [0.25, 0.0, 0.5, 0.5], width: 12, - z: -50) + z: -50) unless $config.debug @center.remove @center_vel.remove end - group_velocity = [0.0,0.0] - center_mass = [0.0,0.0] + group_velocity = [0.0, 0.0] + center_mass = [0.0, 0.0] boids_count = FF::Cmp::Boids.each.to_a.count FF::Cmp::Boids.each do |boid| @@ -22,30 +24,29 @@ FF::Scn::BoidCalculations.add(FF::Sys.new('ApplyBoidCalculations', priority: 75) boid.x += boid.vx boid.y += boid.vy - if boid.vx < 0 && !boid.flipped + if boid.vx.negative? && !boid.flipped boid.flipped = true spr = boid.entities.first.components[FF::Cmp::BoidVisuals].first.obj - spr.width = -(spr.width).abs + spr.width = -spr.width.abs # flip - elsif boid.vx > 0 && boid.flipped + elsif boid.vx.positive? && boid.flipped # unflip boid.flipped = false spr = boid.entities.first.components[FF::Cmp::BoidVisuals].first.obj - spr.width = (spr.width).abs + spr.width = spr.width.abs end boid.cx = 0.0 boid.cy = 0.0 - center_mass[0] += boid.x center_mass[1] += boid.y group_velocity[0] += boid.vx group_velocity[1] += boid.vy end - group_velocity = [0.0,0.0] - center_mass = [0.0,0.0] + group_velocity = [0.0, 0.0] + center_mass = [0.0, 0.0] boids_count = FF::Cmp::Fish[0].entities.count FF::Cmp::Fish[0].entities.each do |ent| |
