summaryrefslogtreecommitdiffhomepage
path: root/deprecated/systems/99_render.rb
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/systems/99_render.rb')
-rw-r--r--deprecated/systems/99_render.rb38
1 files changed, 24 insertions, 14 deletions
diff --git a/deprecated/systems/99_render.rb b/deprecated/systems/99_render.rb
index c71c6fc..dc1092e 100644
--- a/deprecated/systems/99_render.rb
+++ b/deprecated/systems/99_render.rb
@@ -1,7 +1,9 @@
+# frozen_string_literal: true
+
class Systems
class Render
def self.run
- Components::Renderable.data.sort_by { |v| v[1].z }.each do |key, data|
+ Components::Renderable.data.sort_by { |v| v[1].z }.each do |key, _data|
if !(Components::Sprite.id & Entity.signatures[key]).zero?
$gtk.args.outputs.sprites << Components::Sprite.data[key].set
elsif !(Components::Label.id & Entity.signatures[key]).zero?
@@ -11,21 +13,29 @@ class Systems
layer['chunks'].each do |chunk|
chunk['data'].each_slice(chunk['width']).with_index do |row, row_index|
row.each_with_index do |tile, column_index|
- unless tile.zero?
- iter = 0
- loop do
- tile = Helper.get_tile(json_name: Components::Map.data[key].json['tilesets'][iter]['source'].split('/').last.delete('\\').delete_suffix('.tsx'), tile_index: tile)
- break if tile.is_a?(Hash)
- raise Exception.new "#{Components::Map.data[key].json['json_name']} not valid map, exceeded tile range" if (iter += 1) >= Components::Map.data[key].json['tilesets'].count
- end
- unless tile.empty?
- tile[:x] = Components::Map.data[key].x + (Components::Map.data[key].tilewidth * column_index) + chunk['x']
- tile[:y] = Components::Map.data[key].y + (Components::Map.data[key].tileheight * row_index) + chunk['y']
- tile[:w] = Components::Map.data[key].tilewidth
- tile[:h] = Components::Map.data[key].tileheight
- $gtk.args.outputs.sprites << tile
+ next if tile.zero?
+
+ iter = 0
+ loop do
+ tile = Helper.get_tile(
+ json_name: Components::Map.data[key].json['tilesets'][iter]['source'].split('/').last.delete('\\').delete_suffix('.tsx'), tile_index: tile
+ )
+ break if tile.is_a?(Hash)
+
+ if (iter += 1) >= Components::Map.data[key].json['tilesets'].count
+ raise StandardError,
+ "#{Components::Map.data[key].json["json_name"]} not valid map, exceeded tile range"
end
end
+ next if tile.empty?
+
+ tile[:x] =
+ Components::Map.data[key].x + (Components::Map.data[key].tilewidth * column_index) + chunk['x']
+ tile[:y] =
+ Components::Map.data[key].y + (Components::Map.data[key].tileheight * row_index) + chunk['y']
+ tile[:w] = Components::Map.data[key].tilewidth
+ tile[:h] = Components::Map.data[key].tileheight
+ $gtk.args.outputs.sprites << tile
end
end
end