Files
HauntedBloodlines/Assets/Scripts/Scripted Events/PianoCapClose.cs
2025-05-29 22:31:40 +03:00

42 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace InfallibleCode
{
public class PianoCapClose : MonoBehaviour, IInteractable
{
[SerializeField] Animator _pianoAnimator;
[SerializeField] private string _pianoCapCloseAnimatorTriggerName;
[SerializeField] private AudioSource _pianoAudioSource;
[SerializeField] private AudioSource _pianoCapAudioSource;
[SerializeField] private AudioClip _pianoCapCloseAudioClip;
[SerializeField] private EventTrigger _eventTriggerAfterPianoCapIsClosed;
[SerializeField] private float _waitUntilToDoEvent;
bool animPlayed;
public bool DoOnce;
public void CloseCap()
{
if(DoOnce)
StartCoroutine(DoEventAfterSeconds());
}
IEnumerator DoEventAfterSeconds()
{
_pianoAnimator.SetTrigger(_pianoCapCloseAnimatorTriggerName);
yield return new WaitForSeconds(_waitUntilToDoEvent);
_pianoAudioSource.Stop();
_pianoCapAudioSource.clip = _pianoCapCloseAudioClip;
_pianoCapAudioSource.Play();
_eventTriggerAfterPianoCapIsClosed.Invoke();
}
public void Interact()
{
CloseCap();
}
}
}