コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
 void Awake()
 {
     _instance = this;
     DontDestroyOnLoad(_instance.gameObject);
 }