using GameCore.ECS; using GameCore.ECS.Interfaces; using GameCore.Player; namespace GameCore.Input; public class PlayerInputSystem : ISystem { public void Update(World world, float deltaTime) { var playerEntities = world.GetEntitiesWith(); if (!playerEntities.Any()) return; var playerEntity = playerEntities.First(); var inputState = world.GetComponent(playerEntity); if (inputState == null) return; inputState.MoveDirection = world.InputService.MoveDirection.Normalize(); inputState.LookDirection = world.InputService.LookDirection; inputState.IsJumping = world.InputService.IsJumping; inputState.IsInteracting = world.InputService.IsInteracting; inputState.IsFiring = world.InputService.IsFiring; inputState.IsSwapWeaponNext = world.InputService.IsSwapWeaponNext; inputState.IsSwapWeaponPrevious = world.InputService.IsSwapWeaponPrevious; } }