public void StartSquareColorsCoroutine(SquareColor[] colors, SquaresToRecolor behaviour = SquaresToRecolor.All, bool delay = false, bool unshuffled = false) { var indexes = new List <int?>((behaviour == SquaresToRecolor.NonwhiteOnly ? Enumerable.Range(0, 16).Where(ix => colors[ix] != SquareColor.White) : Enumerable.Range(0, 16)).Select(i => (int?)i)); if (!unshuffled) { indexes.Shuffle(); } if (delay) { indexes.Insert(0, null); } StartSquareColorsCoroutine(colors, indexes.ToArray()); }
public void StartSquareColorsCoroutine(SquareColor[] colors, SquaresToRecolor behaviour = SquaresToRecolor.All, bool delay = false) { StartSquareColorsCoroutine(colors, delay: delay, indexes: behaviour == SquaresToRecolor.NonwhiteOnly ? Enumerable.Range(0, 16).Where(ix => colors[ix] != SquareColor.White).ToArray() : Enumerable.Range(0, 16).ToArray()); }