Module: Lotu::Collidable
- Defined in:
- lib/lotu/behaviors/collidable.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(instance) ⇒ Object
4 5 6 |
# File 'lib/lotu/behaviors/collidable.rb', line 4 def self.extended(instance) instance.init_behavior end |
Instance Method Details
#collides_as(tag) ⇒ Object
12 13 14 15 |
# File 'lib/lotu/behaviors/collidable.rb', line 12 def collides_as(tag) @collision_tag = tag @parent.systems[CollisionSystem].add_entity(self, tag) end |
#collides_with(other) ⇒ Object
17 18 19 |
# File 'lib/lotu/behaviors/collidable.rb', line 17 def collides_with(other) Gosu.distance(@x, @y, other.x, other.y) < @collision_radius + other.collision_radius end |
#die ⇒ Object
21 22 23 24 |
# File 'lib/lotu/behaviors/collidable.rb', line 21 def die super @parent.systems[CollisionSystem].remove_entity(self, @collision_tag) if @parent.systems[CollisionSystem] end |
#init_behavior ⇒ Object
8 9 10 |
# File 'lib/lotu/behaviors/collidable.rb', line 8 def init_behavior @collision_tag = nil end |