// Update is called once per frame void Update() { text.text = ""; blips.ForEach(t => t.localScale = blipDefaultSize); rythmPosition = RythmManager.RythmPosition; text.text = $"[{rythmPosition.Tick.Measure}] - {rythmPosition.Tick.Beat}"; var index = rythmPosition.Tick.Beat; blips[index].localScale *= 2; }
internal void UpdateCurrentRythmPosition(double currentPositionInClip) { var tick = ticks.First(t => t.TickStartsAt <= currentPositionInClip && t.TickEndsAt >= currentPositionInClip); if (tick.Id == currentPosition.Tick.Id) { return; } currentPosition = new RythmPosition(tick, currentPositionInClip); MessageHub.PublishNews <RythmPosition> (MessageTopics.NewRythmPosition, currentPosition); // Debug.Log ( $"[{currentPosition.Tick.Measure}][{currentPosition.Tick.Beat}][{currentPosition.Tick.Index}]" ); // if ( currentPosition.Tick.Id == ticks.Length && tick.Id == 0 ) if (tick.Id == 0) { // new loop. Reset. MessageHub.PublishNews <string> (MessageTopics.TrackStartsFromZero_string, "Track start from zero"); } }