private void ChangedToTopViewHandler(object sender, bool goingToTop) { if (goingToTop) { _mainInstance.FadeTo(_mainInstance.source.volume / 2f, 1.5f); _windInstance.FadeIn(2f); } else { _mainInstance.FadeIn(2f); _windInstance.FadeOut(1.5f); } }
private void Start() { _mainInstance = Instantiate(mainAmbienceObj, transform); _graveyardInstance = Instantiate(graveyardObj, transform); _graveyardInstance.source.volume = 0; _windInstance = Instantiate(windObj, transform); _windInstance.source.volume = 0; _mainInstance.FadeIn(0.5f); }
private void HumanKilledHandler(object sender, EventArgs e) { if (MapData.HumanList.Count <= 10 && _endInstance != null) { _mainInstance.FadeOut(2.5f); _endInstance = Instantiate(endAmbienceObj, transform); _endInstance.FadeIn(2f); } }
private void DrawInspector() { Ao = (AudioObject)target; BeginInspectorGUI(); ShowString(Ao.AudioID, "Audio ID:"); ShowString(Ao.Category != null ? Ao.Category.Name : "---", "Audio Category:"); ShowString(FormatVolume(Ao.Volume), "Item Volume:"); ShowString(FormatVolume(Ao.VolumeTotal), "Total Volume:"); ShowFloat((float)Ao.StartedPlayingAtTime, "Time Started:"); if ((bool)Ao.PrimaryAudioSource) { ShowString(string.Format("{0:0.00} half-tones", AudioObject.InverseTransformPitch(Ao.PrimaryAudioSource.pitch)), "Pitch:"); if ((bool)Ao.PrimaryAudioSource.clip) { ShowString(string.Format("{0} / {1}", Ao.PrimaryAudioSource.time, Ao.ClipLength), "Time:"); } if (Ao.ScheduledPlayingAtDspTime > 0.0) { ShowFloat((float)(Ao.ScheduledPlayingAtDspTime - AudioSettings.dspTime), "Scheduled Play In seconds: "); } } if ((bool)Ao.SecondaryAudioSource) { ShowString(string.Format("Secondary: T:{0} Playing:{1}", Ao.SecondaryAudioSource.time, Ao.SecondaryAudioSource.isPlaying), "Time:"); } EditorGUILayout.BeginHorizontal(); if (!Ao.IsPaused()) { if (GUILayout.Button("Pause")) { Ao.Pause(); } } else if (GUILayout.Button("Unpause")) { Ao.Unpause(); } if (GUILayout.Button("Stop")) { Ao.Stop(0.5f); } if (GUILayout.Button("FadeIn")) { Ao.FadeIn(2f); } if (GUILayout.Button("FadeOut")) { Ao.FadeOut(2f); } GUILayout.Button("Refresh"); EditorGUILayout.EndHorizontal(); EndInspectorGUI(); }
private void ChangedToGraveyardHandler(object sender, bool goingToGrave) { if (goingToGrave) { _mainInstance.FadeOut(2f); _graveyardInstance.FadeIn(2.5f); } else { _mainInstance.FadeIn(2.5f); _graveyardInstance.FadeOut(2f); } }
private void DrawInspector() { AO = (AudioObject)target; BeginInspectorGUI(); //DrawDefaultInspector(); //VerticalSpace(); ShowString(AO.audioID, "Audio ID:"); ShowString(AO.category != null ? AO.category.Name : "---", "Audio Category:"); ShowString(FormatVolume(AO.volume), "Item Volume:"); ShowString(FormatVolume(AO.volumeTotal), "Total Volume:"); ShowFloat((float)AO.startedPlayingAtTime, "Time Started:"); if (AO.primaryAudioSource) { ShowString(string.Format("{0:0.00} half-tones", AudioObject.InverseTransformPitch(AO.primaryAudioSource.pitch)), "Pitch:"); if (AO.primaryAudioSource.clip) { ShowString(string.Format("{0} / {1}", AO.primaryAudioSource.time, AO.clipLength), "Time:"); } #if UNITY_AUDIO_FEATURES_4_1 if (AO.scheduledPlayingAtDspTime > 0) { ShowFloat((float)(AO.scheduledPlayingAtDspTime - AudioSettings.dspTime), "Scheduled Play In seconds: "); } #endif } if (AO.secondaryAudioSource) { ShowString(string.Format("Secondary: T:{0} Playing:{1}", AO.secondaryAudioSource.time, AO.secondaryAudioSource.isPlaying), "Time:"); } EditorGUILayout.BeginHorizontal(); if (!AO.IsPaused()) { if (GUILayout.Button("Pause")) { AO.Pause(); } } else { if (GUILayout.Button("Unpause")) { AO.Unpause(); } } if (GUILayout.Button("Stop")) { AO.Stop(0.5f); } if (GUILayout.Button("FadeIn")) { AO.FadeIn(2); } if (GUILayout.Button("FadeOut")) { AO.FadeOut(2); } if (GUILayout.Button("Refresh")) { } EditorGUILayout.EndHorizontal(); EndInspectorGUI(); }
public override void TryPlay(SoundPlayData Data) { if (!CanPlay(Data)) { return; } ///이미 플레이중인 같은 클립이 있는지 검사합니다. AudioObject AlreadyPlayingAudio = m_Channel.m_AudioActiveObjectList.Find(x => x.m_Data.m_strSoundFileName == Data.m_strSoundFileName); bool bAlreadyPlaying = AlreadyPlayingAudio != null; ///이미 플레이중인 같은 클립의 오디오가 있다면 새로운 오디오는 그 오디오를 가져오고 아니라면 풀에서 꺼내옵니다. AudioObject NewAudioObject = bAlreadyPlaying ? AlreadyPlayingAudio : m_Channel.GetAudioObject(); #region Exception ///버그에 대한 예외처리 및 디버그 코드 작성 ExceptionProcess(NewAudioObject); #endregion ///오디오 정보를 세팅합니다. NewAudioObject.SetAudioChannel(m_Channel); NewAudioObject.SetAudioGroup(NewAudioObject.m_Data.m_eAudioGroup); NewAudioObject.SetPlayData(Data); NewAudioObject.SetParent(NewAudioObject.m_Data.m_trPlace); NewAudioObject.SetPriority(m_Channel.m_nPriority); NewAudioObject.transform.localPosition = Vector3.zero; NewAudioObject.OnStop = null; m_Channel.AddAudioObject(NewAudioObject); NewAudioObject.OnStop = () => { m_Channel.DeactiveList_Enqueue(NewAudioObject); m_Channel.RemoveAudioObject(NewAudioObject); }; ///같은 BGM을 플레이하는경우 if (bAlreadyPlaying && NewAudioObject.m_bFadingOut) { ///가장 최근에 플레이한 BGM으로 교체하기위해 앞에서 빼고 뒤에 넣어줌 m_Channel.m_AudioActiveObjectList.Remove(NewAudioObject); m_Channel.m_AudioActiveObjectList.Add(NewAudioObject); } else if (!bAlreadyPlaying) { NewAudioObject.FadeVolume = 0; } AudioObject TargetObject = m_Channel.m_AudioActiveObjectList.Count > 0 ? m_Channel.m_AudioActiveObjectList[m_Channel.m_AudioActiveObjectList.Count - 1] : null; if ((bAlreadyPlaying && NewAudioObject.m_bFadingOut) || !bAlreadyPlaying) { ///가장 최근에 플레이한 오브젝트가 일시정지하려는 중이 아니면 중지시킵니다. if (TargetObject != null) { if (!TargetObject.IsPause) { if (!TargetObject.m_bFadingOut) { TargetObject.FadeOutAndPause(); } } } ///대상 BGM을 루프로 재생합니다. if (!bAlreadyPlaying) { NewAudioObject.Play(Data.m_LoadedAudioClip, NewAudioObject.m_Data.m_fDelay, 1, true, NewAudioObject.m_Data.m_fTime); } if (NewAudioObject.m_Data.m_bUseFadeIn) { NewAudioObject.FadeIn(); } } ///이미 플레이 중이지 않았다면 활성화된 리스트에 추가합니다. if (!bAlreadyPlaying) { m_Channel.m_AudioActiveObjectList.Add(NewAudioObject); } m_Channel.m_AudioFilter.RecordFilterInfo(new AudioFilterInfo(Data.m_strSoundFileName)); m_Channel.PauseBGM(); AudioClipGroup.RecordPlayingClip(Data.m_LoadedAudioClip); }
private void DrawInspector() { AO = (AudioObject) target; BeginInspectorGUI(); //DrawDefaultInspector(); //VerticalSpace(); ShowString( AO.audioID, "Audio ID:" ); ShowString( AO.category != null ? AO.category.Name : "---" , "Audio Category:" ); ShowString( FormatVolume( AO.volume ), "Item Volume:" ); ShowString( FormatVolume( AO.volumeTotal ), "Total Volume:" ); ShowFloat( (float) AO.startedPlayingAtTime, "Time Started:" ); if ( AO.primaryAudioSource ) { ShowString( string.Format( "{0:0.00} half-tones", AudioObject.InverseTransformPitch( AO.primaryAudioSource.pitch ) ), "Pitch:" ); if ( AO.primaryAudioSource.clip ) { ShowString( string.Format( "{0} / {1}", AO.primaryAudioSource.time, AO.clipLength ), "Time:" ); } #if UNITY_AUDIO_FEATURES_4_1 if ( AO.scheduledPlayingAtDspTime > 0 ) { ShowFloat( (float) ( AO.scheduledPlayingAtDspTime - AudioSettings.dspTime ), "Scheduled Play In seconds: " ); } #endif } if ( AO.secondaryAudioSource ) { ShowString( string.Format( "Secondary: T:{0} Playing:{1}", AO.secondaryAudioSource.time, AO.secondaryAudioSource.isPlaying ), "Time:" ); } EditorGUILayout.BeginHorizontal(); if ( !AO.IsPaused() ) { if ( GUILayout.Button( "Pause" ) ) { AO.Pause(); } } else { if ( GUILayout.Button( "Unpause" ) ) { AO.Unpause(); } } if ( GUILayout.Button( "Stop" ) ) { AO.Stop( 0.5f ); } if ( GUILayout.Button( "FadeIn" ) ) { AO.FadeIn( 2 ); } if ( GUILayout.Button( "FadeOut" ) ) { AO.FadeOut( 2 ); } if ( GUILayout.Button( "Refresh" ) ) { } EditorGUILayout.EndHorizontal(); EndInspectorGUI(); }