class

PointClickEngine::Graphics::Layers::LayerManager

Inherits Reference < Object

Manages multiple rendering layers

LayerManager organizes rendering into z-ordered layers, each with independent properties like parallax scrolling and opacity.

Example

layers = LayerManager.new
layers.add_default_layers

# Add custom layer
clouds = Layer.new("clouds", 50)
clouds.parallax_factor = 0.3
layers.add_layer(clouds)

# Render all layers
layers.render(camera, renderer) do |layer|
  # Render objects in layer
end

Constructors

Instance methods

add_default_layers

Add default layers for a typical adventure game

Source
add_layer(layer : Layer)

Add a layer

Source
background_layer

Quick access to common layers

Source
clear

Clear all layers

Source
fade_layer(name : String, target_opacity : Float32, speed : Float32, dt : Float32) : Bool

Fade layer in/out (returns true when complete)

Source
foreground_layer
Source
get_layer(name : String) : Layer | Nil

Get layer by name

Source
get_layer_at_z(z_order : Int32) : Layer | Nil

Get layer by z-order (exact match)

Source
get_layers_above(z_order : Int32) : Array(Layer)

Get all layers at or above z-order

Source
get_layers_below(z_order : Int32) : Array(Layer)

Get all layers at or below z-order

Source
layers

All managed layers

Source
remove_layer(layer : Layer)

Remove a layer

Source
remove_layer(name : String)

Remove layer by name

Source
render(camera : PointClickEngine::Graphics::Camera, renderer : PointClickEngine::Graphics::Renderer, &block : Layer -> )

Render all layers in order

Source
scene_layer
Source
set_layer_opacity(name : String, opacity : Float32)

Set layer opacity

Source
set_layer_visible(name : String, visible : Bool)

Set layer visibility

Source
set_layer_z_order(name : String, new_z_order : Int32)

Move layer in z-order

Source
ui_layer
Source
update(dt : Float32)

Update all layers

Source