Fix double click on explode button
This commit is contained in:
@@ -27386,7 +27386,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1591058970}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
||||
m_Name:
|
||||
@@ -27447,7 +27447,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1591058970}
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2518c50cb3fc6a6458d4b743c2f69c7d, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -3,10 +3,11 @@ using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ExplodeModel : MonoBehaviour, IResettable
|
||||
public class ExplodeModel : MonoBehaviour, IResettable, IPointerDownHandler
|
||||
{
|
||||
public ModelManager mm;
|
||||
public GameObject baseModel;
|
||||
@@ -15,15 +16,20 @@ public class ExplodeModel : MonoBehaviour, IResettable
|
||||
|
||||
List<Vector3> goalPos = new List<Vector3>();
|
||||
List<Vector3> initialPos = new List<Vector3>();
|
||||
private bool pressed = false;
|
||||
|
||||
static readonly int finalTick = 60 * 2; // 60fps * 2sek
|
||||
bool explode = false;
|
||||
int tick = finalTick + 1;
|
||||
float lastClickTime = -1f;
|
||||
const float debounceTime = 0.3f; // 300ms Sperre
|
||||
|
||||
void Start()
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
{
|
||||
GetComponent<Button>().onClick.AddListener(Explode);
|
||||
if (Time.time - lastClickTime < debounceTime)
|
||||
return; // Ignoriere doppeltes Event
|
||||
|
||||
lastClickTime = Time.time;
|
||||
Explode();
|
||||
}
|
||||
|
||||
void Update()
|
||||
@@ -50,11 +56,6 @@ public class ExplodeModel : MonoBehaviour, IResettable
|
||||
|
||||
void Explode()
|
||||
{
|
||||
pressed = !pressed;
|
||||
if (!pressed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!explode) // before switching to true
|
||||
{
|
||||
initialPos.Clear();
|
||||
@@ -88,7 +89,6 @@ public class ExplodeModel : MonoBehaviour, IResettable
|
||||
tf.transform.localPosition = initialPos[i]; //reset all
|
||||
}
|
||||
}
|
||||
pressed = false;
|
||||
explode = false;
|
||||
text.text = "Explode";
|
||||
tick = finalTick + 1;
|
||||
|
||||
Reference in New Issue
Block a user