Update touch input settings

This commit is contained in:
Michal Pikulski
2025-09-05 14:10:42 +02:00
parent 32f09f4755
commit 5d3a587b5e
9 changed files with 235 additions and 56 deletions

View File

@@ -20,19 +20,48 @@ public class EndlessDescenderController : MonoBehaviour, ITouchInputConsumer
isTouchActive = false;
}
public void OnTouchPress(Vector2 worldPosition)
// Implement new ITouchInputConsumer contract
public void OnTap(Vector2 worldPosition)
{
// Only update horizontal position
// Treat tap as a quick move to the tapped X position
targetFingerX = Mathf.Clamp(worldPosition.x, GameManager.Instance.EndlessDescenderClampXMin, GameManager.Instance.EndlessDescenderClampXMax);
isTouchActive = true;
}
public void OnTouchPosition(Vector2 worldPosition)
public void OnDragStart(Vector2 position)
{
//
}
public void OnDrag(Vector2 position)
{
//
}
public void OnDragEnd(Vector2 position)
{
//
}
public void OnHoldStart(Vector2 worldPosition)
{
// Start hold, update target X
targetFingerX = Mathf.Clamp(worldPosition.x, GameManager.Instance.EndlessDescenderClampXMin, GameManager.Instance.EndlessDescenderClampXMax);
isTouchActive = true;
}
public void OnHold(Vector2 worldPosition)
{
// Update target x as finger moves
targetFingerX = Mathf.Clamp(worldPosition.x, GameManager.Instance.EndlessDescenderClampXMin, GameManager.Instance.EndlessDescenderClampXMax);
}
public void OnHoldEnd(Vector2 worldPosition)
{
// Stop hold
isTouchActive = false;
}
void Update()
{
if (!isTouchActive) return;