summaryrefslogtreecommitdiffhomepage
path: root/app/ECS/systems
diff options
context:
space:
mode:
Diffstat (limited to 'app/ECS/systems')
-rw-r--r--app/ECS/systems/00_player.rb8
-rw-r--r--app/ECS/systems/99_render.rb15
2 files changed, 12 insertions, 11 deletions
diff --git a/app/ECS/systems/00_player.rb b/app/ECS/systems/00_player.rb
index 0a0492a..21dedfd 100644
--- a/app/ECS/systems/00_player.rb
+++ b/app/ECS/systems/00_player.rb
@@ -3,10 +3,10 @@ class Systems
def self.run
Components::PlayerControl.data.each do |id, data|
if !(Components::Sprite.id & Entity.signatures[id]).zero?
- Components::Sprite.data[id].y -= 10 if $gtk.args.inputs.keyboard.key_held.send(data.north)
- Components::Sprite.data[id].y += 10 if $gtk.args.inputs.keyboard.key_held.send(data.south)
- Components::Sprite.data[id].x += 10 if $gtk.args.inputs.keyboard.key_held.send(data.east)
- Components::Sprite.data[id].x -= 10 if $gtk.args.inputs.keyboard.key_held.send(data.west)
+ 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
diff --git a/app/ECS/systems/99_render.rb b/app/ECS/systems/99_render.rb
index a2f697b..c71c6fc 100644
--- a/app/ECS/systems/99_render.rb
+++ b/app/ECS/systems/99_render.rb
@@ -16,14 +16,15 @@ class Systems
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) > 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