Class: Jolt::Layers
- Inherits:
-
Object
- Object
- Jolt::Layers
- Defined in:
- lib/jolt/layers.rb
Defined Under Namespace
Classes: Builder, NativeResources
Instance Attribute Summary collapse
-
#broad_phase_layers ⇒ Object
readonly
Returns the value of attribute broad_phase_layers.
-
#object_layers ⇒ Object
readonly
Returns the value of attribute object_layers.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(object_layers:, broad_phase_layers:, mappings:, collisions:) ⇒ Layers
constructor
A new instance of Layers.
- #native_resources ⇒ Object
- #object_layer_id(name) ⇒ Object
Constructor Details
#initialize(object_layers:, broad_phase_layers:, mappings:, collisions:) ⇒ Layers
Returns a new instance of Layers.
27 28 29 30 31 32 33 |
# File 'lib/jolt/layers.rb', line 27 def initialize(object_layers:, broad_phase_layers:, mappings:, collisions:) @object_layers = object_layers.freeze @broad_phase_layers = broad_phase_layers.freeze @mappings = mappings.freeze @collisions = collisions.freeze freeze end |
Instance Attribute Details
#broad_phase_layers ⇒ Object (readonly)
Returns the value of attribute broad_phase_layers.
25 26 27 |
# File 'lib/jolt/layers.rb', line 25 def broad_phase_layers @broad_phase_layers end |
#object_layers ⇒ Object (readonly)
Returns the value of attribute object_layers.
25 26 27 |
# File 'lib/jolt/layers.rb', line 25 def object_layers @object_layers end |
Class Method Details
.default ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/jolt/layers.rb', line 8 def default @default ||= define do |layers| layers.broad_phase :static_bp, :dynamic_bp layers.object :non_moving, broad_phase: :static_bp layers.object :moving, broad_phase: :dynamic_bp layers.collide :non_moving, with: :moving layers.collide :moving, with: :moving end end |
Instance Method Details
#native_resources ⇒ Object
41 42 43 |
# File 'lib/jolt/layers.rb', line 41 def native_resources NativeResources.new(self, @mappings, @collisions) end |
#object_layer_id(name) ⇒ Object
35 36 37 38 39 |
# File 'lib/jolt/layers.rb', line 35 def object_layer_id(name) @object_layers.fetch(name.to_sym) rescue KeyError raise InvalidArgumentError, "unknown object layer: #{name.inspect}" end |