Sha256: bdea86967b065c3ace1139cedffbfbe603b6c5f0629aaa64147883873e2fd19a

Contents?: true

Size: 771 Bytes

Versions: 5

Compression:

Stored size: 771 Bytes

Contents

Actor.define :collidable_debugger do
  has_behaviors :collider_container
end

Behavior.define :collider_container do
  setup do
    actor.has_attributes collider: actor.opts[:collider]
    actor.collider.when :remove do
      actor.remove
    end
  end
end

ActorView.define :collidable_debugger_view do

  configure do
    @color = Color::WHITE
  end

  draw do |target,x_off,y_off,z|
    collider = actor.collider
    case collider.shape_type
    when :circle
      target.draw_circle x_off+collider.center_x, y_off+collider.center_y, collider.radius, @color, z
    else
      collider.cw_world_lines.each do |line|
        f = line.first
        l = line.last
        target.draw_line x_off+f[0],y_off+f[1],x_off+l[0],y_off+l[1], @color, z
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gamebox-0.4.0.rc5 lib/gamebox/actors/collidable_debugger.rb
gamebox-0.4.0.rc4 lib/gamebox/actors/collidable_debugger.rb
gamebox-0.4.0.rc3 lib/gamebox/actors/collidable_debugger.rb
gamebox-0.4.0.rc2 lib/gamebox/actors/collidable_debugger.rb
gamebox-0.4.0.rc1 lib/gamebox/actors/collidable_debugger.rb