Sha256: 6038b3036bc6252d54044c20beb2206ca8d78486d1fb53c36a06e5a0050a9cdc
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
# # task.rb # class TaskManager class << TaskManager def init @@task = [] end def add_task(t) @@task << t end def reset @@task.each{|t| t.reset} end def draw(info) @@task.each{|t| t.draw(info) if t.active?} end def act(dt,info) @@task.each{|t| t.act(dt,info) if t.active?} @@task.delete_if{|t| !t.alive} end end end module Task Info = Struct.new(:key,:keydown,:scr,:score) def initialize @active = true @alive = true TaskManager.add_task(self) init end attr_accessor :alive def active?; @active; end def enable; @active = true; enabled; end def disable; @active = false; disabled; end def enabled; end def disabled; end def init; end def act(dt,info); end def draw(info); end def reset; end end module SingleTask def self.extended(klass) klass.__send__ :include, Singleton klass.__send__ :include, Task end def active?; self.instance.active?; end def enable; self.instance.enable; end def disable; self.instance.disable; end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bathtub-0.5.2 | bathtub/task.rb |