summaryrefslogtreecommitdiffhomepage
path: root/lib/ruby2d/camera.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-08-07 16:42:05 -0400
committerrealtradam <[email protected]>2021-08-07 16:42:05 -0400
commit8fb5bfdf72c54dbc9161f3be6ebdc1c9e7bcc384 (patch)
treee5c6635d0216a1ec93068d7be5e9cbad6fd43e1a /lib/ruby2d/camera.rb
parentc546e9e7f47953f8b79e3e062693e1636ce563b4 (diff)
downloadruby2d-camera-8fb5bfdf72c54dbc9161f3be6ebdc1c9e7bcc384.tar.gz
ruby2d-camera-8fb5bfdf72c54dbc9161f3be6ebdc1c9e7bcc384.zip
added circles
Diffstat (limited to 'lib/ruby2d/camera.rb')
-rw-r--r--lib/ruby2d/camera.rb60
1 files changed, 16 insertions, 44 deletions
diff --git a/lib/ruby2d/camera.rb b/lib/ruby2d/camera.rb
index c8f1667..8a628ee 100644
--- a/lib/ruby2d/camera.rb
+++ b/lib/ruby2d/camera.rb
@@ -1,16 +1,16 @@
# frozen_string_literal: true
-require_relative "camera/version"
-require_relative "camera/triangle"
-
-#Dir[File.join(__dir__, 'camera', '*.rb')].sort.each { |file| require file }
+#require_relative "camera/version"
+#require_relative "camera/triangle"
+require 'ruby2d'
+Dir[File.join(__dir__, 'camera', '*.rb')].sort.each { |file| require file }
# Handles rendering objects relative
# to a camera location
module Ruby2D
module Camera
- class <<self
+ class <<self
private
# Contains all objects that are tracked
def objects
@@ -37,31 +37,6 @@ module Ruby2D
# Adding objects so they are
# tracked by the Camera
def self.<<(item)
-=begin
- case item
- when Triangle
- item.extend Camera::TriangleWrapped
- when Square
- item.extend Camera::SquareWrapped
- when Rectangle
- item.extend Camera::RectangleWrapped
- when Quad
- item.extend Camera::QuadWrapped
- when Line
- item.extend Camera::LineWrapped
- when Circle
- item.extend Camera::CircleWrapped
- when Image
- item.extend Camera::ImageWrapped
- when Sprite
- item.extend Camera::SpriteWrapped
- when Text
- item.extend Camera::TextWrapped
- else
- puts 'Warning: Non-standard Object added to Camera'
- puts ' Object may not behave as expected'
- end
-=end
objects.push(item) unless objects.include?(item)
end
@@ -71,20 +46,8 @@ module Ruby2D
# Redraw all objects that
# are tracked by the Camera
- def self.redraw(auto_purge: false)
- #if auto_purge
- # objects.each do |item|
- # if item.nil?
- # puts "Warning: Nil Object detected in Camera"
- # puts " Nil Object removed"
- # objects.delete(obj)
- # else
- # item.redraw
- # end
- # end
- #else
- objects.each(&:_draw)
- #end
+ def self._redraw(auto_purge: false)
+ objects.each(&:_draw)
end
# Variables changing Camera properties
@@ -130,3 +93,12 @@ module Ruby2D
end
end
end
+
+module Ruby2D
+ class Window
+ def update(&aproc)
+ @update_proc = (aproc << proc { Ruby2D::Camera._redraw })
+ true
+ end
+ end
+end