Sha256: 52902dc7647530bd7720ef919c2d60bda2d09301d242b82eb92e38291c515b52
Contents?: true
Size: 948 Bytes
Versions: 1
Compression:
Stored size: 948 Bytes
Contents
module OrangeZest # An object which can exist in the game world, and responds to Gosu's `#update` and `#draw` # methods. class Component # The group which this component is registered with, if any. # @return [Group, nil] attr_reader :group # Called during Gosu's update phase. A stub to be overridden. def update; end # Called during Gosu's draw phase. A stub to be overridden. def draw; end # Adds this component to a group. If no group is given, uses the `Main` group. # Returns `self` so you can chain this with an assignment. # @param [Group, nil] group # @return [Component] Itself. def register(group=nil) group ||= Group::Main group.add(self) @group = group self end # Removes this component from its group. def unregister raise 'tried to unregister component which is not registered' unless group group.remove(self) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
orange_zest-0.1.0 | lib/orange_zest/component.rb |