Ejemplo n.º 1
0
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Static Methods: Fadeout Audio THEN Fade Back In
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 public static void FadeoutAudioThenFadeBackIn(AudioHandlerInfo a_rAudioHandlerInfo, float a_fFadeoutTime, float a_fFadeBackInWaitTime)
 {
     if (a_rAudioHandlerInfo != null && IsValidAudioHandlerID(a_rAudioHandlerInfo.AudioHandlerID))
     {
         FadeoutAudioThenFadeBackIn(a_rAudioHandlerInfo.AudioHandlerID, sm_aAudioSource[a_rAudioHandlerInfo.AudioHandlerID].Volume, a_rAudioHandlerInfo.m_fMaxVolume * 0.2f, a_rAudioHandlerInfo.m_fMaxVolume, a_fFadeoutTime, a_fFadeBackInWaitTime);
     }
 }
Ejemplo n.º 2
0
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Static Methods: Fade Audio
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 public static void FadeAudio(AudioHandlerInfo a_rAudioHandlerInfo)
 {
     if (a_rAudioHandlerInfo != null && IsValidAudioHandlerID(a_rAudioHandlerInfo.AudioHandlerID))
     {
         FadeAudio(a_rAudioHandlerInfo.AudioHandlerID, sm_aAudioSource[a_rAudioHandlerInfo.AudioHandlerID].Volume, a_rAudioHandlerInfo.m_fMaxVolume, a_rAudioHandlerInfo.m_fFadeinAudioTime);
     }
 }
Ejemplo n.º 3
0
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Static Methods: Fadeout Audio
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 public static void FadeoutAudio(AudioHandlerInfo a_rAudioHandlerInfo)
 {
     if (a_rAudioHandlerInfo != null && IsValidAudioHandlerID(a_rAudioHandlerInfo.AudioHandlerID))
     {
         FadeoutAudio(a_rAudioHandlerInfo.AudioHandlerID, sm_aAudioSource[a_rAudioHandlerInfo.AudioHandlerID].Volume, 0.0f, a_rAudioHandlerInfo.m_fFadeoutAudioTime);
         SetAudioHandler(a_rAudioHandlerInfo, -1);
     }
 }
Ejemplo n.º 4
0
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Static Method: Set Audio Handler ID
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 private static void SetAudioHandler(AudioHandlerInfo a_rAudioHandlerInfo, int a_iNewID)
 {
     a_rAudioHandlerInfo.GetType().GetField("m_iAudioHandlerID", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(a_rAudioHandlerInfo, a_iNewID);
     if (a_iNewID > -1)
     {
         a_rAudioHandlerInfo.GetType().GetField("m_rAssignedAudioHandler", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(a_rAudioHandlerInfo, sm_aAudioSource[a_iNewID]);
     }
 }
Ejemplo n.º 5
0
 public static void StopAudio(AudioHandlerInfo a_rAudioHandlerInfo)
 {
     if (a_rAudioHandlerInfo != null && IsValidAudioHandlerID(a_rAudioHandlerInfo.AudioHandlerID))
     {
         sm_aAudioSource[a_rAudioHandlerInfo.AudioHandlerID].StopSound();
         SetAudioHandler(a_rAudioHandlerInfo, -1);
     }
 }
Ejemplo n.º 6
0
 public static void PlayAudioClip(AudioHandlerInfo a_rAudioHandlerInfo)
 {
     if (a_rAudioHandlerInfo != null)
     {
         int trackStartPosition = (a_rAudioHandlerInfo.m_bRandomiseTrackStartPosition ? Random.Range(0, (a_rAudioHandlerInfo.m_acAudioToPlay.samples / a_rAudioHandlerInfo.m_acAudioToPlay.channels)) : a_rAudioHandlerInfo.m_iStartTrackPosition);
         int iAudioHandlerID    = PlayAudioClip(a_rAudioHandlerInfo.m_acAudioToPlay, a_rAudioHandlerInfo.m_bLoopAudio, a_rAudioHandlerInfo.m_fMaxVolume, a_rAudioHandlerInfo.m_eAudioType, trackStartPosition);
         SetAudioHandler(a_rAudioHandlerInfo, iAudioHandlerID);
         if (IsValidAudioHandlerID(a_rAudioHandlerInfo.AudioHandlerID))
         {
             if (a_rAudioHandlerInfo.m_bFadeinAudioUponPlaying)
             {
                 sm_aAudioSource[a_rAudioHandlerInfo.AudioHandlerID].Volume = 0.0f;
                 FadeAudio(a_rAudioHandlerInfo);
             }
         }
     }
 }