Class: Asteroids::GameObject

Inherits:
Object
  • Object
show all
Defined in:
lib/asteroids/componenets/game_object.rb

Direct Known Subclasses

Asteroid, Explosion, Missile, Ship

Instance Method Summary collapse

Constructor Details

#initialize(object_pool) ⇒ GameObject

Returns a new instance of GameObject.



4
5
6
7
8
# File 'lib/asteroids/componenets/game_object.rb', line 4

def initialize(object_pool)
  @components = []
  @object_pool = object_pool
  @object_pool.objects << self
end

Instance Method Details

#componentsObject



10
11
12
# File 'lib/asteroids/componenets/game_object.rb', line 10

def components
  @components
end

#drawObject



18
19
20
# File 'lib/asteroids/componenets/game_object.rb', line 18

def draw
  @components.map(&:draw)
end

#mark_for_removalObject



26
27
28
# File 'lib/asteroids/componenets/game_object.rb', line 26

def mark_for_removal
  @removable = true
end

#removable?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/asteroids/componenets/game_object.rb', line 22

def removable?
  @removable
end

#updateObject



14
15
16
# File 'lib/asteroids/componenets/game_object.rb', line 14

def update
  @components.map(&:update)
end