plantilla base para movimiento básico
This commit is contained in:
Robii Aragon
2026-02-05 05:07:55 -08:00
parent ed7b223c04
commit fd87a6ffd5
14441 changed files with 13711084 additions and 20 deletions

View File

@@ -0,0 +1,100 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class inputDoubleClickEventSystem : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
public bool checkDoubleClickEnabled = true;
public float maxTimeBetweenClicks = 0.4f;
public bool useMaxTimeDuringAllClicks;
public float maxTimeForAllClicks;
public int numberOfClicksToActivateInput;
[Space]
[Header ("Debug")]
[Space]
public int currentNumberOfClicks;
[Space]
[Header ("Event Settings")]
[Space]
public UnityEvent eventOnActivateInput;
float lastTimeClickUsed;
bool pressedInTime;
public void checkClickInput ()
{
if (!checkDoubleClickEnabled) {
return;
}
if (useMaxTimeDuringAllClicks) {
if (lastTimeClickUsed == 0) {
lastTimeClickUsed = Time.time;
}
currentNumberOfClicks++;
pressedInTime = Time.time - lastTimeClickUsed < maxTimeForAllClicks;
if (currentNumberOfClicks >= numberOfClicksToActivateInput) {
if (pressedInTime) {
eventOnActivateInput.Invoke ();
print ("pressed in time");
} else {
print ("amount pressed, but too much wait");
}
lastTimeClickUsed = 0;
currentNumberOfClicks = 0;
} else {
if (Time.time - lastTimeClickUsed > maxTimeForAllClicks) {
lastTimeClickUsed = 0;
currentNumberOfClicks = 0;
print ("too much wait");
}
}
} else {
pressedInTime = Time.time < lastTimeClickUsed + maxTimeBetweenClicks;
if (!pressedInTime) {
currentNumberOfClicks = 0;
}
if (pressedInTime || currentNumberOfClicks == 0) {
currentNumberOfClicks++;
if (currentNumberOfClicks >= numberOfClicksToActivateInput) {
eventOnActivateInput.Invoke ();
currentNumberOfClicks = 0;
}
} else {
currentNumberOfClicks = 0;
}
lastTimeClickUsed = Time.time;
}
}
}