static void DoCyclePalette(Palette palette, int cycleStart, int cycleEnd, bool forward)
{
int num = cycleEnd - cycleStart;
if (forward)
{
var tmp = palette.Colors[cycleEnd];
Array.Copy(palette.Colors, cycleStart, palette.Colors, cycleStart + 1, num);
palette.Colors[cycleStart] = tmp;
}
else
{
var tmp = palette.Colors[cycleStart];
Array.Copy(palette.Colors, cycleStart + 1, palette.Colors, cycleStart, num);
palette.Colors[cycleEnd] = tmp;
}
}