/// <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; foreach (TimelineItem item in GetTimelineItems()) { TimelineActionFixed cinemaAudio = item as TimelineActionFixed; 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(); } } } }