using UnityEngine; using Wwise.Wooduan.Core; using Wwise.Wooduan.Tools; namespace Wwise.Wooduan.ScriptableObjects { /// /// Data config for all the banks and packages that should be loaded when game starts. /// [CreateAssetMenu(fileName = "AudioInitLoadData", menuName = "Wwise/Audio Init Load Data")] public class AudioInitLoadData : ScriptableObject { public bool LoadPackages; public string[] AudioPackages; public AK.Wwise.Bank[] persistentBanks = new AK.Wwise.Bank[0]; public AK.Wwise.Event[] initialEvents = new AK.Wwise.Event[0]; public AK.Wwise.State[] defaultStates = new AK.Wwise.State[0]; internal void LoadAudioData() { // only load packages in build because voice format might not match #if !UNITY_EDITOR if (LoadPackages) { foreach (var package in AudioPackages) { PCKManager.LoadPackage(package); } } #endif foreach (var bank in persistentBanks) { bank.Load(AudioTriggerSource.Initialization); } foreach (var state in defaultStates) { state.SetValue(null, AudioTriggerSource.Initialization); } foreach (var evt in initialEvents) { evt.Post(null, AudioTriggerSource.Initialization); } } } }