- Implement Context-Based Input system:
- Added `IMC_ItemHeld` mapping context.
- Added logic to switch contexts when picking up/dropping items.
- Added `Throw` (LMB/R2) and `Aim` (RMB/L2) input actions.
- Refactor Interaction Logic:
- `Interact`: Now handles picking up items or gently dropping them if held.
- `OnThrowInput`: Implemented physics-based throw towards camera aim point (center of screen raycast).
- Added character rotation to face the throw target instantly.
- Update Physics & Movement:
- Added `bStrafing` mode to `TengriMovementComponent` to allow rotation towards camera view.
- Updated `TengriPickupActor` to use `bVelChange` for impulses (ignoring mass for consistent throw arc).
- Tuned throw force and added vertical arc bias.
- Fixes:
- Resolved rotation logic in MovementComponent to support Aiming state.
Implemented a responsive, deterministic jump system with "game feel" enhancements and advanced air physics.
Changes:
- **Jump Logic**: Added variable jump height (hold/release control).
- **Game Feel**: Implemented Coyote Time (jump after leaving ledge) and Jump Buffering (early input registration).
- **Air Physics**: Added non-linear gravity (FallingGravityScale) for snappy jumps and Terminal Velocity clamping.
- **Landing**: Added OnLanded delegate with heavy/light landing detection based on impact velocity.
- **Config**: Added auto-calculation logic in PostEditChangeProperty to derive Gravity and JumpVelocity from desired JumpHeight and TimeToApex.
- **Debug**: Added on-screen debug messages for Velocity Z and movement state.
- **Fix**: Moved delegate declaration to global scope to fix blueprint visibility issues.
Relates to: Phase 13, Phase 14
- Implement AC_InputDevice component with OnInputHardwareDeviceChanged delegate
- Add automatic debouncing (300ms cooldown) to prevent flickering
- Provide binary device classification: IsGamepad() vs IsKeyboard()
- Integrate with Toast System for debug notifications
- Add comprehensive functional tests with manual event triggering
- Create Blueprint-callable testing utilities (BFL_InputDeviceTesting)
- Update Debug HUD with Input Device info page
- Replace polling-based detection with zero-overhead event-driven approach
Components:
- AC_InputDevice: Event-driven device detection with debouncing
- InputDeviceSubsystem: Mock UE subsystem with delegate support
- BFL_InputDeviceTesting: Blueprint test utilities for device simulation
- FT_InputDeviceRealTesting: Complete functional test suite
Resolves stick drift issues through proper debouncing while maintaining
instant response to real device changes. Ready for Enhanced Input
integration in future stages.