コード例 #1
0
        /// <summary>
        /// 是否变大,不是则变小
        /// </summary>
        /// <param name="audio"></param>
        /// <param name="isHigh"></param>
        private void OnFade(AudioSource audio, bool isHigh, Action onFadeEnd = null)
        {
            if (audio != null)
            {
                TimeModule.CompleteHandler completeHandler = delegate(int id)
                {
                    GameFrameEntry.GetModule <TimeModule>().RemoveTime(id);
                    if (audio == null)
                    {
                        return;
                    }
                    if (isHigh)
                    {
                        audio.volume = this.m_MaxVolume;
                    }
                    else
                    {
                        audio.volume = 0;
                        if (onFadeEnd != null)
                        {
                            onFadeEnd();
                        }
                    }
                };

                TimeModule.EveryHandle everyHandle = delegate(int id, int time)
                {
                    if (audio == null)
                    {
                        return;
                    }
                    float volume = 0;
                    if (isHigh)
                    {
                        volume = this.m_MaxVolume * ((m_FadeTime - (float)time) / (float)this.m_FadeTime);
                    }
                    else
                    {
                        volume = this.m_MaxVolume * ((float)time / (float)this.m_FadeTime);
                    }
                    //Util.Log("aaaaaaaaaaaaaa-->", time, volume);
                    audio.volume = volume;
                };
                if (m_FadeTimeId != 0)
                {
                    GameFrameEntry.GetModule <TimeModule>().RemoveTime(m_FadeTimeId);
                }
                m_FadeTimeId = GameFrameEntry.GetModule <TimeModule>().SetCountDownByMillisecond(this.m_FadeTime, completeHandler, everyHandle);
            }
        }
コード例 #2
0
ファイル: TimeModule.cs プロジェクト: moto2002/TheSecondWorld
 public EveryHandleData(TimeModule.EveryHandle h, int t = 1)
 {
     handle  = h;
     maxTime = t;
     curTime = 0;
 }