11 [RequireComponent(typeof(
Button))]
14 const float MinTimeBetweenSameClip = 0.1f;
27 private AudioSource audioSource;
28 private static string lastClipName;
29 private static float lastClipTime;
33 Button button = GetComponent<Button>();
40 audioSource = GetComponent<AudioSource>();
48 PlayClip(ButtonObservation);
52 PlayClip(ButtonObservationTargeted);
56 PlayClip(ButtonTargeted);
64 void OnButtonCanceled(GameObject go)
66 PlayClip(ButtonCanceled);
69 void OnButtonHeld(GameObject go)
74 void OnButtonPressed(GameObject go)
76 PlayClip(ButtonPressed);
79 void OnButtonReleased (GameObject go)
81 PlayClip(ButtonReleased);
84 void PlayClip (AudioClip clip)
89 if (clip.name == lastClipName && (lastClipTime - Time.realtimeSinceStartup) < MinTimeBetweenSameClip)
92 lastClipName = clip.name;
93 lastClipTime = Time.realtimeSinceStartup;
94 if (audioSource != null)
96 audioSource.PlayOneShot(clip);
100 AudioSource.PlayClipAtPoint(clip, transform.position);