27 lines
790 B
C#
27 lines
790 B
C#
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();
|
|
|
|
/// <summary>
|
|
/// Sets the direction for the next dodge roll. Called before KeyPress(0x21).
|
|
/// Default no-op for real input controllers (direction comes from game state).
|
|
/// </summary>
|
|
void SetDodgeDirection(Vector2 direction) { }
|
|
}
|