/// <summary> /// Applies a suitable color for first time generated hexagon controller. /// </summary> /// <param name="controller"></param> public void ApplySuitableColor(HexagonController controller) { var colorsToExclude = controller.GetColorsToExclude(); var suitableColors = new List <Color>(); // This can be optimized way a lot more however since the time is short // I'll just stick with it. foreach (var hexagonColor in hexagonColors) { var areEqual = false; foreach (var color in colorsToExclude) { if (CompareColors(color, hexagonColor)) { areEqual = true; } } if (!areEqual) { suitableColors.Add(hexagonColor); } } var randomColor = suitableColors[Random.Range(0, suitableColors.Count)]; controller.ApplyColor(randomColor); }