/// <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); } }
public EveryHandleData(TimeModule.EveryHandle h, int t = 1) { handle = h; maxTime = t; curTime = 0; }