36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems; // Wajib untuk deteksi sentuhan langsung
|
|
|
|
// Memastikan tombol tetap punya komponen Button (untuk efek visual saat diklik)
|
|
[RequireComponent(typeof(Button))]
|
|
public class AnimalButton : MonoBehaviour, IPointerDownHandler
|
|
{
|
|
[Header("Pengaturan Suara")]
|
|
[Tooltip("Masukkan suara hewan/buah spesifik untuk tombol ini")]
|
|
public AudioClip myAnimalSound;
|
|
|
|
private AudioManager audioManager;
|
|
|
|
void Start()
|
|
{
|
|
// Mencari AudioManager di Scene secara otomatis saat game dimulai
|
|
audioManager = FindObjectOfType<AudioManager>();
|
|
|
|
if (audioManager == null)
|
|
{
|
|
Debug.LogWarning("AudioManager tidak ditemukan di Scene!");
|
|
}
|
|
}
|
|
|
|
// Fungsi ini dipanggil seketika saat layar disentuh (tanpa delay!)
|
|
public void OnPointerDown(PointerEventData eventData)
|
|
{
|
|
// Memastikan tombol ini bisa diklik (interactable)
|
|
if (GetComponent<Button>().interactable && audioManager != null)
|
|
{
|
|
// Mengirimkan suara hewan ke AudioManager
|
|
audioManager.OnAnimalButtonClicked(myAnimalSound);
|
|
}
|
|
}
|
|
} |