class PowerupRespawnQueue
Constants
- RESPAWN_DELAY
Public Class Methods
new()
click to toggle source
# File lib/entities/powerups/powerup_respawn_queue.rb, line 3 def initialize @respawn_queue = {} @last_respawn = Gosu.milliseconds end
Public Instance Methods
enqueue(delay_seconds, type, x, y)
click to toggle source
# File lib/entities/powerups/powerup_respawn_queue.rb, line 8 def enqueue(delay_seconds, type, x, y) respawn_at = Gosu.milliseconds + delay_seconds * 1000 @respawn_queue[respawn_at.to_i] = [type, x, y] end
respawn(object_pool)
click to toggle source
# File lib/entities/powerups/powerup_respawn_queue.rb, line 13 def respawn(object_pool) now = Gosu.milliseconds return if now - @last_respawn < RESPAWN_DELAY @respawn_queue.keys.each do |k| next if k > now # not yet type, x, y = @respawn_queue.delete(k) type.new(object_pool, x, y) end @last_respawn = now end