示例#1
0
        private void updateSpacing()
        {
            DistanceSpacing = SnapProvider.GetBeatSnapDistanceAt(StartTime);

            if (endTime == null)
            {
                MaxIntervals = int.MaxValue;
            }
            else
            {
                // +1 is added since a snapped hitobject may have its start time slightly less than the snapped time due to floating point errors
                double maxDuration = endTime.Value - StartTime + 1;
                MaxIntervals = (int)(maxDuration / SnapProvider.DistanceToDuration(StartTime, DistanceSpacing));
            }

            gridCache.Invalidate();
        }
示例#2
0
        private void updateSpacing()
        {
            float distanceSpacingMultiplier = (float)DistanceSpacingMultiplier.Value;
            float beatSnapDistance          = SnapProvider.GetBeatSnapDistanceAt(ReferenceObject);

            DistanceBetweenTicks = beatSnapDistance * distanceSpacingMultiplier;

            if (LatestEndTime == null)
            {
                MaxIntervals = int.MaxValue;
            }
            else
            {
                MaxIntervals = (int)((LatestEndTime.Value - StartTime) / SnapProvider.DistanceToDuration(ReferenceObject, beatSnapDistance));
            }

            gridCache.Invalidate();
        }
示例#3
0
 private void updateSpacing()
 {
     DistanceSpacing = SnapProvider.GetBeatSnapDistanceAt(StartTime);
     gridCache.Invalidate();
 }