Engine.Input.InputEvents

Для реализации стандартного инпута необходимо реализовать следующие интерфейсы

IBeginDrag - для информации об начале ипута

IDrag - для информации об текущим инпуте

IEndDrag - для информации об окончании инпута

IClick - для информации о клике

Все работает по принципу ивентов. Так что предельно важно какой интерфейс вы выбираете - от этого будет зависить когда вы будете получать новую информацию об инпуте.

BeginDrag

using Engine.Input;
public class DragExample : IBeginDrag
{
     protected void OnEnable()
     {
         InputEvents.BeginDrag.Subscribe(this);
     }
     protected void OnDisable()
     {
         InputEvents.BeginDrag.Unsubscribe(this);
     }
     private void OnBeginDrag(InputInfo data)
     {
          //data.currentPosition - возвращает Vector3(по экрану) текущее положение пальца
          //data.daltaDrag - возвращает Vector3(по экрану) растояние между началом и текущей
          //data.lengthDrag - возвращает float(по экрану) растояние между началом и текущей
          //data.lastDaltaDrag - возвращает Vector3(по экрану) текущее положение пальца
          //data.initPoint - возвращает Vector3(по экрану) растояние между последней сменой направления и текущей
          //data.lastPosition - возвращает Vector3(по экрану) последнее положение пальца
     }

}

Drag

using Engine.Input;
public class DragExample : IDrag
{
     protected void OnEnable()
     {
         InputEvents.Drag.Subscribe(this);
     }
     protected void OnDisable()
     {
         InputEvents.Drag.Unsubscribe(this);
     }
     private void OnDrag(InputInfo data)
     {
          //data.currentPosition - возвращает Vector3(по экрану) текущее положение пальца
          //data.daltaDrag - возвращает Vector3(по экрану) растояние между началом и текущей
          //data.lengthDrag - возвращает float(по экрану) растояние между началом и текущей
          //data.lastDaltaDrag - возвращает Vector3(по экрану) текущее положение пальца
          //data.initPoint - возвращает Vector3(по экрану) растояние между последней сменой направления и текущей
          //data.lastPosition - возвращает Vector3(по экрану) последнее положение пальца
     }

}

EndDrag

using Engine.Input;
public class DragExample : IEndDrag
{
     protected void OnEnable()
     {
         InputEvents.EndDrag.Subscribe(this);
     }
     protected void OnDisable()
     {
         InputEvents.EndDrag.Unsubscribe(this);
     }
     private void OnEndDrag(InputInfo data)
     {
          //data.currentPosition - возвращает Vector3(по экрану) текущее положение пальца
          //data.daltaDrag - возвращает Vector3(по экрану) растояние между началом и текущей
          //data.lengthDrag - возвращает float(по экрану) растояние между началом и текущей
          //data.lastDaltaDrag - возвращает Vector3(по экрану) текущее положение пальца
          //data.initPoint - возвращает Vector3(по экрану) растояние между последней сменой направления и текущей
          //data.lastPosition - возвращает Vector3(по экрану) последнее положение пальца
     }

}

Click

using Engine.Input;
public class DragExample : IClick
{
     protected void OnEnable()
     {
         InputEvents.Click.Subscribe(this);
     }
     protected void OnDisable()
     {
         InputEvents.Click.Unsubscribe(this);
     }
     private void OnClick(InputInfo data)
     {
          //data.currentPosition - возвращает Vector3(по экрану) текущее положение пальца
          //data.daltaDrag - возвращает Vector3(по экрану) растояние между началом и текущей
          //data.lengthDrag - возвращает float(по экрану) растояние между началом и текущей
          //data.lastDaltaDrag - возвращает Vector3(по экрану) текущее положение пальца
          //data.initPoint - возвращает Vector3(по экрану) растояние между последней сменой направления и текущей
          //data.lastPosition - возвращает Vector3(по экрану) последнее положение пальца
     }

}