예제 #1
0
        /// <summary>
        /// Обновление данных менеджера. Предназначен для вызова каждый кадр в модели.
        /// </summary>
        public void ManagerUpdateStep()
        {
            //обновление состояния проигрывания звуковых эффектов
            for (var i = 0; i < PlayingSfx.Count; i++)
            {
                AppSoundAsset appSoundAsset = PlayingSfx[i];
                //используем запросы для получения данных
                SoundManagerRequestB requestBIsPlaying =
                    new SoundManagerRequestB(ESoundManagerRequestType.IsSoundPlaying, appSoundAsset);
                AppSoundManagerMediator.Request(requestBIsPlaying, AppSoundManagerMediator.ViewSoundManagerColleague);

                SoundManagerRequestB requestBIsPaused =
                    new SoundManagerRequestB(ESoundManagerRequestType.IsSoundPaused, appSoundAsset);
                AppSoundManagerMediator.Request(requestBIsPaused, AppSoundManagerMediator.ViewSoundManagerColleague);


                if (!requestBIsPlaying.RequestDataBool && !requestBIsPaused.RequestDataBool)
                {
                    PlayingSfx.Remove(appSoundAsset);
                    i--;
                }
            }
        }
예제 #2
0
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parMessageType">Тип сообшения</param>
 /// <param name="parSoundAsset">Связанный звуковой ресурс</param>
 /// <param name="parAmFloat">Параметр сообщения float</param>
 public SoundManagerMessageF(ESoundManagerMessageType parMessageType, AppSoundAsset parSoundAsset, float parAmFloat) :
     base(parMessageType, parSoundAsset)
 {
     ParamFloat = parAmFloat;
 }
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parRequestType">Тип запроса</param>
 /// <param name="parSoundAsset">Связанный звуковой ресурс</param>
 protected SoundManagerRequest(ESoundManagerRequestType parRequestType, AppSoundAsset parSoundAsset)
 {
     RequestType = parRequestType;
     SoundAsset  = parSoundAsset;
 }
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parMessageType">Тип сообшения</param>
 /// <param name="parSoundAsset">Связанный звуковой ресурс</param>
 /// <param name="parAmBool">Параметр сообщения bool</param>
 public SoundManagerMessageB(ESoundManagerMessageType parMessageType, AppSoundAsset parSoundAsset, bool parAmBool) : base(
         parMessageType, parSoundAsset)
 {
     ParamBool = parAmBool;
 }
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parRequestType">Тип запроса</param>
 /// <param name="parSoundAsset">Связанный звуковой ресурс</param>
 public SoundManagerRequestB(ESoundManagerRequestType parRequestType, AppSoundAsset parSoundAsset) : base(parRequestType,
                                                                                                          parSoundAsset)
 {
 }
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parMessageType">Тип сообшения</param>
 /// <param name="parSoundAsset">Связанный звуковой ресурс</param>
 public SoundManagerMessage(ESoundManagerMessageType parMessageType, AppSoundAsset parSoundAsset)
 {
     MessageType = parMessageType;
     SoundAsset  = parSoundAsset;
 }
예제 #7
0
        /// <summary>
        /// Вспомогательный метод для проверки приостановки воспроизведения аудио ресурса
        /// </summary>
        /// <param name="parAppSoundAsset">Целевой аудио ресурс для проверки</param>
        /// <returns>True, если воспроизведение приостановлено</returns>
        public bool IsSoundPaused(AppSoundAsset parAppSoundAsset)
        {
            SoundManagerRequestB request = new SoundManagerRequestB(ESoundManagerRequestType.IsSoundPaused, parAppSoundAsset);

            return(request.RequestDataBool);
        }
예제 #8
0
 /// <summary>
 /// Вспомогательный метод для остановки воспроизведения аудио ресурса
 /// </summary>
 /// <param name="parAppSoundAsset">Целевой аудио ресурс</param>
 public void StopSound(AppSoundAsset parAppSoundAsset)
 {
     AppSoundManagerMediator.Send(new SoundManagerMessage(ESoundManagerMessageType.SoundStop, parAppSoundAsset),
                                  AppSoundManagerMediator.ViewSoundManagerColleague);
 }
예제 #9
0
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parLinkedAppSoundAsset">Связанный аудио-ресурс</param>
 /// <param name="parLinkedMusicAssetDefinition">Тип музыкальной композиции</param>
 public PlayingBackgroundMusicData(AppSoundAsset parLinkedAppSoundAsset,
                                   EAppMusicAssets parLinkedMusicAssetDefinition)
 {
     LinkedAppSoundAsset        = parLinkedAppSoundAsset;
     LinkedMusicAssetDefinition = parLinkedMusicAssetDefinition;
 }