/// <summary> /// Update the track and play any newly triggered items. /// </summary> /// <param name="time">The new running time.</param> /// <param name="deltaTime">The deltaTime since the last update call.</param> public override void UpdateTrack(float time, float deltaTime) { #if PROFILE_FILE Profiler.BeginSample("AudioTrack.UpdateTrack"); #endif // PROFILE_FILE float elapsedTime = base.elapsedTime; base.elapsedTime = time; var list = GetTimelineItems(); var length = list.Length; for (var i = 0; i < length; i++) { var item = list[i]; CinemaAudio cinemaAudio = item as CinemaAudio; if (cinemaAudio != null) { if (((elapsedTime < cinemaAudio.Firetime) || (elapsedTime <= 0f)) && (((base.elapsedTime >= cinemaAudio.Firetime)))) { cinemaAudio.Trigger(); } if ((base.elapsedTime > cinemaAudio.Firetime) && (base.elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration))) { float audioTime = time - cinemaAudio.Firetime; cinemaAudio.UpdateTime(audioTime, deltaTime); } if (((elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration)) && (base.elapsedTime > (cinemaAudio.Firetime + cinemaAudio.Duration)))) { cinemaAudio.End(); } } } #if PROFILE_FILE Profiler.EndSample(); #endif // PROFILE_FILE }
/// <summary> /// Update the track and play any newly triggered items. /// </summary> /// <param name="time">The new running time.</param> /// <param name="deltaTime">The deltaTime since the last update call.</param> public override void UpdateTrack(float time, float deltaTime) { float elapsedTime = base.elapsedTime; base.elapsedTime = time; List <TimelineItem> items = GetAllTimelineItems(); for (int i = 0; i < items.Count; i++) { CinemaAudio cinemaAudio = items[i] as CinemaAudio; if (cinemaAudio != null) { if (((elapsedTime < cinemaAudio.Firetime) || (elapsedTime <= 0f)) && (((base.elapsedTime >= cinemaAudio.Firetime)))) { cinemaAudio.Trigger(); } if ((base.elapsedTime > cinemaAudio.Firetime) && (base.elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration))) { float audioTime = time - cinemaAudio.Firetime; cinemaAudio.UpdateTime(audioTime, deltaTime); } if (((elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration)) && (base.elapsedTime > (cinemaAudio.Firetime + cinemaAudio.Duration)))) { cinemaAudio.End(); } } } }
static public int End(IntPtr l) { try { CinemaDirector.CinemaAudio self = (CinemaDirector.CinemaAudio)checkSelf(l); self.End(); return(0); } catch (Exception e) { return(error(l, e)); } }