Made apple audio sources use OnManagedAwake

This commit is contained in:
2025-11-10 12:19:20 +01:00
parent 3f548c3ed4
commit 7bb992acb8
4 changed files with 24 additions and 9 deletions

View File

@@ -3,12 +3,14 @@ using System;
using System.Diagnostics.Tracing;
using UnityEngine;
using UnityEngine.Audio;
using Core;
using Core.Lifecycle;
/// <summary>
/// We automatically add the AudioSource component here so we can control it. Do not add it manually!
/// </summary>
[RequireComponent(typeof(AudioSource))]
public class AppleAudioSource : MonoBehaviour
public class AppleAudioSource : ManagedBehaviour
{
public enum AudioSourceType{CriticalVO,VO,Ambience,SFX,Music}
public AudioSourceType audioSourceType;
@@ -17,8 +19,14 @@ public class AppleAudioSource : MonoBehaviour
[HideInInspector ] public int clipPriority;
public int sourcePriority;
protected override void Awake()
{
base.Awake();
audioSource = GetComponent<AudioSource>();
}
// Start is called once before the first execution of Update after the MonoBehaviour is created
void OnEnable()
protected override void OnManagedAwake()
{
audioSource = GetComponent<AudioSource>();
AudioManager.Instance.RegisterNewAudioSource(this);
@@ -54,6 +62,10 @@ public class AppleAudioSource : MonoBehaviour
public void Play(int requestedClipPriority)
{
if (audioSource == null)
{
audioSource = GetComponent<AudioSource>();
}
clipPriority = requestedClipPriority;
if (audioSourceType == AudioSourceType.CriticalVO || audioSourceType == AudioSourceType.VO)
{

View File

@@ -4,8 +4,10 @@ using System;
using System.Diagnostics.Tracing;
using UnityEngine;
using UnityEngine.Audio;
using Core;
using Core.Lifecycle;
public class BushAudioController : MonoBehaviour
public class BushAudioController : ManagedBehaviour
{
private IAudioEventSource _eventSource;
public AppleAudioSource VOPlayer;
@@ -20,7 +22,7 @@ public class BushAudioController : MonoBehaviour
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
protected override void OnManagedAwake()
{
_eventSource = VOPlayer.audioSource.RequestEventHandlers();
_eventSource.AudioStopped += PlayBirdCounter;

View File

@@ -1,18 +1,17 @@
using Core;
using Core.Lifecycle;
using UnityEngine;
using UnityEngine.Audio;
public class PulverAudioController : MonoBehaviour
public class PulverAudioController : ManagedBehaviour
{
private AppleAudioSource audioSource;
public AppleAudioSource audioSource;
public AudioResource combineAudio;
private FollowerController followerController;
public ItemManager itemManager;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
protected override void OnManagedAwake()
{
audioSource = GetComponent<AppleAudioSource>();
followerController = GetComponent<FollowerController>();
followerController.PulverIsCombining.AddListener(PulverIsCombining);