mirror of
https://github.com/noakdsv/AtomCraft-2.28.git
synced 2024-10-22 23:44:19 +02:00
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
[RequireComponent(typeof(AudioSource))] // Ensure AudioSource component is attached
|
|
public class GrabbableSound : MonoBehaviour
|
|
{
|
|
private AudioSource audioSource;
|
|
private bool isAudioPlaying = false;
|
|
|
|
void Start()
|
|
{
|
|
// Get the AudioSource component
|
|
audioSource = GetComponent<AudioSource>();
|
|
}
|
|
|
|
private void OnCollisionEnter(Collision collision)
|
|
{
|
|
// Play sound clip when collided if audio is not already playing
|
|
if (!isAudioPlaying && audioSource != null && audioSource.clip != null)
|
|
{
|
|
audioSource.PlayOneShot(audioSource.clip);
|
|
isAudioPlaying = true;
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
// Play sound clip when touched if audio is not already playing
|
|
if (!isAudioPlaying && audioSource != null && audioSource.clip != null)
|
|
{
|
|
audioSource.PlayOneShot(audioSource.clip);
|
|
isAudioPlaying = true;
|
|
}
|
|
}
|
|
|
|
// You can add more events as necessary, ensuring to check isAudioPlaying before playing the sound
|
|
|
|
// Optional: Reset isAudioPlaying to false when the audio finishes playing
|
|
void Update()
|
|
{
|
|
if (isAudioPlaying && !audioSource.isPlaying)
|
|
{
|
|
isAudioPlaying = false;
|
|
}
|
|
}
|
|
}
|
|
|