Syntriax.Engine/Engine.Input/Abstract/IButtonInputs.cs

16 lines
554 B
C#

using Syntriax.Engine.Core.Abstract;
namespace Syntriax.Engine.Input;
public interface IButtonInputs<T> : IAssignableStateEnable
{
void RegisterOnPress(T button, ButtonCallbackEventHandler callback);
void UnregisterOnPress(T button, ButtonCallbackEventHandler callback);
void RegisterOnRelease(T button, ButtonCallbackEventHandler callback);
void UnregisterOnRelease(T button, ButtonCallbackEventHandler callback);
bool IsPressed(T button);
delegate void ButtonCallbackEventHandler(IButtonInputs<T> buttonInputs, T button);
}