コード例 #1
0
    /// <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);
    }