summaryrefslogtreecommitdiffhomepage
path: root/lib/camera/camera.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-04-25 19:47:41 -0400
committerrealtradam <[email protected]>2021-04-25 19:47:41 -0400
commit3c6267d6452fa47c84791e82008a74e76764ce1c (patch)
treebcd52f93a42780255b388abc6da25a5d3e55ab19 /lib/camera/camera.rb
parent1e5deba7f865fff9f3e680669552c7437939a84b (diff)
downloadruby2d-camera-old-3c6267d6452fa47c84791e82008a74e76764ce1c.tar.gz
ruby2d-camera-old-3c6267d6452fa47c84791e82008a74e76764ce1c.zip
Camera automatically removes nil objects
Diffstat (limited to 'lib/camera/camera.rb')
-rw-r--r--lib/camera/camera.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/camera/camera.rb b/lib/camera/camera.rb
index 6a6dd3d..7079d56 100644
--- a/lib/camera/camera.rb
+++ b/lib/camera/camera.rb
@@ -65,8 +65,18 @@ module Camera
# Redraw all objects that
# are tracked by the Camera
- def self.redraw
- objects.each(&:redraw)
+ def self.redraw(auto_purge: true)
+ if auto_purge
+ objects.each do |item|
+ if item.nil?
+ objects.delete(obj)
+ else
+ item.redraw
+ end
+ end
+ else
+ objects.each(&:redraw)
+ end
end
# Variables changing Camera properties