using UnityEngine; using Pixelplacement; using System.Collections; using Core; using Core.SaveLoad; using UnityEngine.Audio; public class PicnicBehaviour : MonoBehaviour { [Header("Random Call Settings")] public float getDistractedMin = 2f; public float getDistractedMax = 5f; public float getFlirtyMin = 1f; public float getFlirtyMax = 3f; private AppleMachine stateMachine; private Animator animator; [Header("The FakeChocolate to destroy!")] [SerializeField] private GameObject fakeChocolate; // Assign in Inspector private AppleAudioSource _audioSource; public AudioResource distractedAudioClips; public AudioResource angryAudioClips; public AudioResource feederClips; public AudioResource moanerClips; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { StartCoroutine(StateCycleRoutine()); } void Awake() { stateMachine = GetComponent(); animator = GetComponent(); _audioSource = GetComponent(); } private IEnumerator StateCycleRoutine() { while (true) { // Distracted state float distractedWait = Random.Range(getDistractedMin, getDistractedMax); stateMachine.ChangeState("Picnic PPL Distracted"); animator.SetBool("theyDistracted", true); _audioSource.Stop(); yield return new WaitForSeconds(distractedWait); // Chilling state float chillingWait = Random.Range(getFlirtyMin, getFlirtyMax); stateMachine.ChangeState("Picnic PPL Chilling"); animator.SetBool("theyDistracted", false); _audioSource.Stop(); yield return new WaitForSeconds(chillingWait); } } void StopAudio() { _audioSource.Stop(); } public void triedToStealChocolate() { _audioSource.Stop(); animator.SetTrigger("theyAngry"); //stateMachine.ChangeState("Picnic PPL Angry"); Logging.Debug("Hey! Don't steal my chocolate!"); _audioSource.audioSource.resource = angryAudioClips; _audioSource.Play(0); } public void destroyFakeChocolate() { if (fakeChocolate != null) { Destroy(fakeChocolate); fakeChocolate = null; // Optional: clear reference } } public void PlayFeederAudio() { _audioSource.audioSource.resource = feederClips; _audioSource.Play(0); } public void PlayMoanerAudio() { _audioSource.audioSource.resource = moanerClips; _audioSource.Play(0); } public void PlayDistractedAudio() { _audioSource.audioSource.resource = distractedAudioClips; _audioSource.Play(0); } }