using System.Numerics; namespace Nexus.Core; public interface IInputController { bool IsInitialized { get; } void KeyDown(ushort scanCode); void KeyUp(ushort scanCode); void KeyPress(ushort scanCode, int holdMs = 50); void MouseMoveTo(int x, int y); void SmoothMoveTo(int x, int y); void MouseMoveBy(int dx, int dy); void LeftClick(int x, int y); void RightClick(int x, int y); void MiddleClick(int x, int y); void LeftDown(); void LeftUp(); void RightDown(); void RightUp(); /// /// Sets the direction for the next dodge roll. Called before KeyPress(0x21). /// Default no-op for real input controllers (direction comes from game state). /// void SetDodgeDirection(Vector2 direction) { } }