class RTanque::Match::TickGroup

Public Class Methods

new() click to toggle source
# File lib/rtanque/match/tick_group.rb, line 6
def initialize
  @members = []
  @pre_tick = nil
  @post_tick = nil
end

Public Instance Methods

add(*members) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 24
def add(*members)
  @members += members.flatten
end
all_but(*to_exclude) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 16
def all_but(*to_exclude)
  self.to_a - to_exclude
end
delete_if(&block) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 20
def delete_if(&block)
  @members.delete_if(&block)
end
each(&block) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 12
def each(&block)
  @members.each(&block)
end
post_tick(&block) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 32
def post_tick(&block)
  @post_tick = block
end
pre_tick(&block) click to toggle source
# File lib/rtanque/match/tick_group.rb, line 28
def pre_tick(&block)
  @pre_tick = block
end
tick() click to toggle source
# File lib/rtanque/match/tick_group.rb, line 36
def tick
  self.delete_if do |member|
    if member.dead?
      true
    else
      @pre_tick.call(member) if @pre_tick
      member.tick
      @post_tick.call(member) if @post_tick
      false
    end
  end
end