Class: DXRuby::Tiled::GroupLayer

Inherits:
Layer
  • Object
show all
Includes:
Enumerable
Defined in:
lib/dxruby_tiled/grouplayer.rb

Instance Attribute Summary

Attributes inherited from Layer

#name, #offset_x, #offset_y, #opacity, #properties, #visible, #z_index

Instance Method Summary collapse

Methods inherited from Layer

create

Constructor Details

#initialize(data, map) ⇒ GroupLayer

Returns a new instance of GroupLayer.



6
7
8
9
10
11
# File 'lib/dxruby_tiled/grouplayer.rb', line 6

def initialize(data, map)
  super
  @layers = data[:layers].map do |layer|
    Layer.create(layer, map)
  end
end

Instance Method Details

#[](name) ⇒ Object



13
14
15
16
# File 'lib/dxruby_tiled/grouplayer.rb', line 13

def [](name)
  return @layers[name] if name.is_a? Integer
  return @layers.find { |layer| layer.name == name }
end

#eachObject



18
19
20
# File 'lib/dxruby_tiled/grouplayer.rb', line 18

def each
  @layers.each { |layer| yield layer }
end

#render(x, y, target = DXRuby::Window, z = 0, offset_x = 0, offset_y = 0, opacity = 1.0) ⇒ Object Also known as: draw



22
23
24
25
26
# File 'lib/dxruby_tiled/grouplayer.rb', line 22

def render(x, y, target = DXRuby::Window, z = 0, offset_x = 0, offset_y = 0, opacity = 1.0)
  @layers.each do |layer|
    layer.render(x, y, target, z + @z_index, offset_x + @offset_x, offset_y + @offset_y, opacity * @opacity) if layer.visible
  end
end