package com.fteams.siftrain.util.random;
import com.badlogic.gdx.utils.Array;
import com.fteams.siftrain.objects.CircleMark;
public class MirroredKeepSidesRandomizer extends Randomizer {
/*
* Info: by default beatmaps will use 2 notes at the same time at most. If there's more, things can get nasty and messy.
*/
public void randomize(Array<CircleMark> marks) {
// sort marks by timing
marks.sort();
for (CircleMark mark : marks)
{
// we don't process notes which spawn in the middle
if (mark.getNote().position == 5)
{
continue;
}
boolean left = isLeft(mark);
Integer newPosition = getPositionWithoutMiddle(!left);
while (inUse(newPosition, mark.getNote().timing_sec))
{
newPosition = getPosition(!left);
}
mark.updateDestination(newPosition);
noteToReleaseTime.put(newPosition, mark.getNote().timing_sec + BUFFER_TIME);
}
}
}