summaryrefslogtreecommitdiffhomepage
path: root/src/systems/systems.rb
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems/systems.rb')
-rw-r--r--src/systems/systems.rb90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/systems/systems.rb b/src/systems/systems.rb
deleted file mode 100644
index 824856e..0000000
--- a/src/systems/systems.rb
+++ /dev/null
@@ -1,90 +0,0 @@
-FECS::Stg.add(FECS::Scn.new('Play'))
-
-FECS::Scn::Play.add(
- FECS::Sys.new('PlayerInput') do
- ent = FECS::Cmp::Player.first.entity
- velocity_cmp = ent.component[FECS::Cmp::Velocity]
- #velocity_cmp.x = 0
- #velocity_cmp.y = 0
- movement_cmp = ent.component[FECS::Cmp::Movement]
- if Rl.key_down? 87 # UP W
- velocity_cmp.y += movement_cmp.acceleration * Rl.frame_time
- velocity_cmp.y = [velocity_cmp.y,
- (movement_cmp.max_speed + movement_cmp.deceleration) * Rl.frame_time].min
- end
- if Rl.key_down? 83 # DOWN S
- velocity_cmp.y -= movement_cmp.acceleration * Rl.frame_time
- velocity_cmp.y = [velocity_cmp.y,
- (-movement_cmp.max_speed - movement_cmp.deceleration) * Rl.frame_time].max
- end
- if Rl.key_down? 65 # LEFT A
- velocity_cmp.x += movement_cmp.acceleration * Rl.frame_time
- velocity_cmp.x = [velocity_cmp.x,
- (movement_cmp.max_speed + movement_cmp.deceleration) * Rl.frame_time].min
- end
- if Rl.key_down? 68 # RIGHT D
- velocity_cmp.x -= movement_cmp.acceleration * Rl.frame_time
- velocity_cmp.x = [velocity_cmp.x,
- (-movement_cmp.max_speed - movement_cmp.deceleration) * Rl.frame_time].max
- end
- if velocity_cmp.x > (movement_cmp.deceleration * Rl.frame_time)
- velocity_cmp.x -= movement_cmp.deceleration * Rl.frame_time
- elsif velocity_cmp.x < (-movement_cmp.deceleration * Rl.frame_time)
- velocity_cmp.x += movement_cmp.deceleration * Rl.frame_time
- else
- velocity_cmp.x = 0
- end
- if velocity_cmp.y > (movement_cmp.deceleration * Rl.frame_time)
- velocity_cmp.y -= movement_cmp.deceleration * Rl.frame_time
- elsif velocity_cmp.y < (-movement_cmp.deceleration * Rl.frame_time)
- velocity_cmp.y += movement_cmp.deceleration * Rl.frame_time
- else
- velocity_cmp.y = 0
- end
- end,
- FECS::Sys.new('Movement') do
- FECS::Cmp::Velocity.each do |velocity_cmp|
- ent = velocity_cmp.entity
- position_component = ent.component[FECS::Cmp::Position]
- movement_cmp = ent.component[FECS::Cmp::Movement]
-
- position_component.x += velocity_cmp.x
- position_component.y += velocity_cmp.y
- end
- end,
- FECS::Sys.new('ApplyPositionToSprite') do
- FECS::Cmp::Position.each do |position_cmp|
- sprite = position_cmp.entity.component[FECS::Cmp::Sprite]
- if sprite
- sprite.origin.x = position_cmp.x
- sprite.origin.y = position_cmp.y
- end
- end
- end,
- FECS::Sys.new('ShowSpeed') do
- player = FECS::Cmp::Player.first.entity
- player_accel = player.component[FECS::Cmp::Velocity].x
- movement = player.component[FECS::Cmp::Movement]
- max_speed = (movement.max_speed + movement.deceleration) * Rl.frame_time
-
- Rl.draw_text(text: "x vel: #{"%.3f" % player_accel}", x: 500, y: 0, font_size: 30, color: BLACK)
- Rl.draw_text(text: "x max: #{"%.3f" % max_speed}", x: 500, y: 30, font_size: 30, color: BLACK)
- end,
- FECS::Sys.new('Render') do
- FECS::Cmp::Sprite.each do |sprite_cmp|
- Rl.draw_texture_pro(texture: sprite_cmp.texture,
- origin: sprite_cmp.origin,
- source_rect: sprite_cmp.source_rect,
- dest_rect: sprite_cmp.dest_rect,
- tint: sprite_cmp.tint,
- rotation: sprite_cmp.rotation)
- end
- end,
-)
-
-FelECS::Order.sort(
- FECS::Sys::PlayerInput,
- FECS::Sys::Movement,
- FECS::Sys::ApplyPositionToSprite,
- FECS::Sys::Render,
-)