diff options
| author | realtradam <[email protected]> | 2021-05-20 05:04:21 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-05-20 05:04:21 -0400 |
| commit | f97a9ca95e464e728bba9337b579bc380c33bc7d (patch) | |
| tree | dd45a6e615e6e873cee15cb41daaca24b3357ea6 /app/ECS/systems | |
| parent | fee80f42f0889f2d484e25f4366f14b68c65ba70 (diff) | |
| download | typemon-code-f97a9ca95e464e728bba9337b579bc380c33bc7d.tar.gz typemon-code-f97a9ca95e464e728bba9337b579bc380c33bc7d.zip | |
implemented hitboxes
Diffstat (limited to 'app/ECS/systems')
| -rw-r--r-- | app/ECS/systems/00_player.rb | 14 | ||||
| -rw-r--r-- | app/ECS/systems/99_render.rb | 37 |
2 files changed, 0 insertions, 51 deletions
diff --git a/app/ECS/systems/00_player.rb b/app/ECS/systems/00_player.rb deleted file mode 100644 index 21dedfd..0000000 --- a/app/ECS/systems/00_player.rb +++ /dev/null @@ -1,14 +0,0 @@ -class Systems - class Player - def self.run - Components::PlayerControl.data.each do |id, data| - if !(Components::Sprite.id & Entity.signatures[id]).zero? - Components::Sprite.data[id].y -= 64 if $gtk.args.inputs.keyboard.key_down.send(data.north) - Components::Sprite.data[id].y += 64 if $gtk.args.inputs.keyboard.key_down.send(data.south) - Components::Sprite.data[id].x += 64 if $gtk.args.inputs.keyboard.key_down.send(data.east) - Components::Sprite.data[id].x -= 64 if $gtk.args.inputs.keyboard.key_down.send(data.west) - end - end - end - end -end diff --git a/app/ECS/systems/99_render.rb b/app/ECS/systems/99_render.rb deleted file mode 100644 index c71c6fc..0000000 --- a/app/ECS/systems/99_render.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Systems - class Render - def self.run - 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? - $gtk.args.outputs.labels << Components::Label.data[key].set - elsif !(Components::Map.id & Entity.signatures[key]).zero? - Components::Map.data[key].json['layers'].each do |layer| - 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 - end - end - end - end - end - end - end - end - end - end -end |
