I am trying to create a script in unity that plays a audio source when being followed, Apparently OnPostPipelineStage and OnPostPipelineStageDelegate no longer exist in cinemachinevirtualcamera base so anything i could do, I am really stumped here.
Code:
using UnityEngine;
public class CharacterAudioPlayer : MonoBehaviour
{
private AudioSource audioSource;
private void Start()
{
audioSource = GetComponent<AudioSource>();
}
public void PlayAudio()
{
if (audioSource != null && !audioSource.isPlaying)
{
audioSource.Play();
}
}
public void StopAudio()
{
if (audioSource != null && audioSource.isPlaying)
{
audioSource.Stop();
}
}
private void OnEnable()
{
Cinemachine.CinemachineVirtualCameraBase.OnPostPipelineStageDelegate += CheckVirtualCamera;
}
private void OnDisable()
{
Cinemachine.CinemachineVirtualCameraBase.OnPostPipelineStage -= CheckVirtualCamera;
}
private void CheckVirtualCamera(
Cinemachine.CinemachineVirtualCameraBase virtualCamera,
Cinemachine.CinemachineCore.Stage stage)
{
if (stage == Cinemachine.CinemachineCore.Stage.Finalize)
{
if (virtualCamera.LookAt == transform || virtualCamera.Follow == transform)
{
PlayAudio();
}
else
{
StopAudio();
}
}
}
}
I tried to make a script that played a audio source of a character when being followed by the camera, I expected for it to be followed and play the audio source and it gave me a error saying that those functions no longer exist.