summaryrefslogtreecommitdiffhomepage
path: root/lib/felpack
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-07-10 04:32:38 -0400
committerrealtradam <[email protected]>2021-07-10 04:32:38 -0400
commit5f71389f9cbfb0adcd68686298fe7c7a47310ca2 (patch)
tree12a9b46f850731271000bcaf21156dac1781d903 /lib/felpack
downloadfelpack-r2d-bindings-master.tar.gz
felpack-r2d-bindings-master.zip
initialHEADmaster
Diffstat (limited to 'lib/felpack')
-rw-r--r--lib/felpack/r2d/bindings.rb136
-rw-r--r--lib/felpack/r2d/bindings/version.rb9
2 files changed, 145 insertions, 0 deletions
diff --git a/lib/felpack/r2d/bindings.rb b/lib/felpack/r2d/bindings.rb
new file mode 100644
index 0000000..304dc19
--- /dev/null
+++ b/lib/felpack/r2d/bindings.rb
@@ -0,0 +1,136 @@
+# frozen_string_literal: true
+
+require_relative "bindings/version"
+require 'ruby2d'
+require 'felflame'
+
+FelFlame::Components.new('RenderQuads')
+FelFlame::Components::RenderQuads.new
+FelFlame::Components.new('Quads',
+ x1: 125, y1: 0,
+ x2: 225, y2: 0,
+ x3: 250, y3: 100,
+ x4: 150, y4: 100,
+ color: [
+ [0.8, 0.3, 0.7, 0.8],
+ [0.1, 0.9, 0.1, 1.0],
+ [0.8, 0.5, 0.8, 1.0],
+ [0.6, 0.4, 0.1, 1.0]
+ ])
+FelFlame::Components.new('RenderRectangles')
+FelFlame::Components::RenderRectangles.new
+FelFlame::Components.new('Rectangles',
+ x: 225, y: 125, width: 100, height: 100,
+ color: [
+ [0.8, 0.3, 0.7, 0.8],
+ [0.1, 0.9, 0.1, 1.0],
+ [0.8, 0.5, 0.8, 1.0],
+ [0.6, 0.4, 0.1, 1.0]
+ ]
+ )
+FelFlame::Components.new('RenderSquares')
+FelFlame::Components::RenderSquares.new
+FelFlame::Components.new('Squares',
+ x: 125, y: 250, size: 100,
+ color: [
+ [0.8, 0.3, 0.7, 0.8],
+ [0.1, 0.9, 0.1, 1.0],
+ [0.8, 0.5, 0.8, 1.0],
+ [0.6, 0.4, 0.1, 1.0]
+ ]
+ )
+FelFlame::Components.new('RenderLines')
+FelFlame::Components::RenderLines.new
+FelFlame::Components.new('Lines',
+ x1: 130, y1: 375, x2: 220, y2: 475, width: 5,
+ color: [
+ [0.8, 0.3, 0.7, 0.8],
+ [0.1, 0.9, 0.1, 1.0],
+ [0.8, 0.5, 0.8, 1.0],
+ [0.6, 0.4, 0.1, 1.0]
+ ])
+FelFlame::Components.new('RenderTriangles')
+FelFlame::Components::RenderTriangles.new
+FelFlame::Components.new('Triangles',
+ x1: 450, y1: 0, x2: 500, y2: 100, x3: 400, y3: 100,
+ color: [
+ [0.8, 0.3, 0.7, 0.8],
+ [0.1, 0.9, 0.1, 1.0],
+ [0.8, 0.5, 0.8, 1.0]
+ ])
+FelFlame::Components.new('RenderPixels')
+FelFlame::Components::RenderPixels.new
+FelFlame::Components.new('Pixels',
+ x: 525, y: 175, radius: 50, sectors: 30,
+ color: [0.8, 0.3, 0.7, 0.8]
+ )
+
+FelFlame::Systems.new('RenderQuads', priority: 999) do
+ FelFlame::Components::RenderQuads.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Quads].each do |quad|
+ Quad.draw(quad.attrs)
+ end
+ end
+ end
+end
+
+FelFlame::Systems.new('RenderRectangles', priority: 999) do
+ FelFlame::Components::RenderRectangles.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Rectangles].each do |rectangle|
+ Rectangle.draw(rectangle.attrs)
+ end
+ end
+ end
+end
+
+FelFlame::Systems.new('RenderSquares', priority: 999) do
+ FelFlame::Components::RenderSquares.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Squares].each do |square|
+ Square.draw(square.attrs)
+ end
+ end
+ end
+end
+
+FelFlame::Systems.new('RenderLines', priority: 999) do
+ FelFlame::Components::RenderLines.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Lines].each do |line|
+ Line.draw(line.attrs)
+ end
+ end
+ end
+end
+
+FelFlame::Systems.new('RenderTriangles', priority: 999) do
+ FelFlame::Components::RenderTriangles.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Triangles].each do |triangle|
+ Triangle.draw(triangle.attrs)
+ end
+ end
+ end
+end
+
+FelFlame::Systems.new('RenderPixels', priority: 999) do
+ FelFlame::Components::RenderPixels.each do |component|
+ component.entities.each do |entity|
+ entity.components[FelFlame::Components::Pixels].each do |pixel|
+ Pixel.draw(pixel.attrs)
+ end
+ end
+ end
+end
+FelFlame::Scenes.new 'RenderShapes'
+FelFlame::Scenes::RenderShapes.add(
+ FF::Sys::RenderQuads,
+ FF::Sys::RenderRectangles,
+ FF::Sys::RenderSquares,
+ FF::Sys::RenderLines,
+ FF::Sys::RenderTriangles,
+ FF::Sys::RenderPixels,
+)
+FelFlame::Stage.add FelFlame::Scenes::RenderShapes
diff --git a/lib/felpack/r2d/bindings/version.rb b/lib/felpack/r2d/bindings/version.rb
new file mode 100644
index 0000000..38b118c
--- /dev/null
+++ b/lib/felpack/r2d/bindings/version.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+module Felpack
+ module R2d
+ module Bindings
+ VERSION = "0.1.0"
+ end
+ end
+end