From fee80f42f0889f2d484e25f4366f14b68c65ba70 Mon Sep 17 00:00:00 2001 From: realtradam Date: Wed, 19 May 2021 05:42:53 -0400 Subject: fully working map import --- app/ECS/base_component.rb | 1 - app/ECS/components/00_renderable.rb | 2 +- app/ECS/components/05_interactable.rb | 16 ++++++++++++++++ app/ECS/components/05_map_object.rb | 16 ---------------- app/ECS/components/06_grid_singleton.rb | 16 ---------------- app/ECS/components/06_level.rb | 25 +++++++++++++++++++++++++ app/ECS/components/07_collidable.rb | 22 ++++++++++++++++++++++ app/ECS/components/debug_singleton.rb | 13 +++++++++++++ app/ECS/signatures.rb | 22 +++++++++++++--------- app/ECS/systems/00_player.rb | 8 ++++---- app/ECS/systems/99_render.rb | 15 ++++++++------- 11 files changed, 102 insertions(+), 54 deletions(-) create mode 100644 app/ECS/components/05_interactable.rb delete mode 100644 app/ECS/components/05_map_object.rb delete mode 100644 app/ECS/components/06_grid_singleton.rb create mode 100644 app/ECS/components/06_level.rb create mode 100644 app/ECS/components/07_collidable.rb create mode 100644 app/ECS/components/debug_singleton.rb (limited to 'app/ECS') diff --git a/app/ECS/base_component.rb b/app/ECS/base_component.rb index e374540..f32322b 100644 --- a/app/ECS/base_component.rb +++ b/app/ECS/base_component.rb @@ -1,7 +1,6 @@ class BaseComponent class < layer['chunks'].count + 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 end - 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 - #puts60 temp.inspect - $gtk.args.outputs.sprites << tile end end end -- cgit v1.2.3