/// <summary> /// Initializes the audio playing system. /// </summary> private void InitAudio() { _soundResMan = new SoundResourceManager(_game); TraceSource.TraceEvent(TraceEventType.Verbose, 0, $"Initializing audio..."); if (!Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero)) { TraceSource.TraceEvent(TraceEventType.Warning, 0, $"Failed to init audio!"); } _playbackMan = new AudioPlaybackManager(_game, _soundResMan); }
private void LoadSoundResourceManager(IReader reader) { ITag ughTag = _tags.GetGlobalTag(CharConstant.FromString("ugh!")); bool haveUghLayout = _buildInfo.Layouts.HasLayout("sound resource gestalt"); bool canLoadUgh = ughTag != null && ughTag.MetaLocation != null && haveUghLayout; if (ughTag != null && ughTag.MetaLocation != null && haveUghLayout) { SoundResourceGestalt gestalt = null; if (canLoadUgh) { gestalt = new SoundResourceGestalt(reader, ughTag, MetaArea, Allocator, _buildInfo, _expander); } _soundGestalt = new SoundResourceManager(gestalt, _tags, MetaArea, Allocator, _buildInfo, _expander); } }
private void LoadSoundResourceManager(IReader reader) { ITag ughTag = _tags.FindTagByGroup("ugh!"); bool haveUghLayout = _buildInfo.Layouts.HasLayout("sound resource gestalt"); bool canLoadUgh = (ughTag != null && ughTag.MetaLocation != null && haveUghLayout); if (ughTag != null && ughTag.MetaLocation != null && haveUghLayout) { SoundResourceGestalt gestalt = null; if (canLoadUgh) { gestalt = new SoundResourceGestalt(reader, ughTag, MetaArea, Allocator, _buildInfo, _expander); } _soundGestalt = new SoundResourceManager(gestalt, _tags, MetaArea, Allocator, _buildInfo, _expander); } }
/// <summary> /// Initializes a new instance of the <see cref="AudioPlaybackManager"/> class. /// </summary> /// <param name="gameEngine">The game engine.</param> /// <param name="soundResMan">The sound resource manager.</param> public AudioPlaybackManager(IGameEngine gameEngine, SoundResourceManager soundResMan) { if (gameEngine == null) { throw new ArgumentNullException(nameof(gameEngine)); } if (soundResMan == null) { throw new ArgumentNullException(nameof(soundResMan)); } _gameEngine = gameEngine; _soundResMan = soundResMan; _channels = new AudioChannel[NumChannels]; for (var i = 0; i < NumChannels; i++) { _channels[i] = new AudioChannel(); } _gameEngine.GetService <Engine.Services.IAudioService>().SoundEffectPlayback += OnGameSoundPlayback; }
void Awake() { _instance = this; DontDestroyOnLoad(_instance.gameObject); }