コード例 #1
0
        public AvailableColors[] GetRandomColors(int amount, AvailableColorPalettes fromPalette = AvailableColorPalettes.Default)
        {
            switch (fromPalette)
            {
            default:
                _colors = RawColors.Keys.ToList();
                break;

            case AvailableColorPalettes.Distinct:
                _colors = DistinctColors.Keys.ToList();
                break;
            }

            var usedAmount = amount > _colors.Count ? _colors.Count : amount;

            AvailableColors[] returnColors = new AvailableColors[usedAmount];

            int randIndex = 0;

            for (int i = 0; i < usedAmount; i++)
            {
                randIndex       = _random.Next(0, _colors.Count);
                returnColors[i] = _colors[randIndex];
                _colors.RemoveAt(randIndex);
            }
            _colors = null;

            return(returnColors);
        }
コード例 #2
0
        public virtual AvailableColors GetRandomColor(AvailableColorPalettes fromPalette = AvailableColorPalettes.Default)
        {
            if (_colors == null)
            {
                switch (fromPalette)
                {
                default:
                    _colors = RawColors.Keys.ToList();
                    break;

                case AvailableColorPalettes.Distinct:
                    _colors = DistinctColors.Keys.ToList();
                    break;
                }
            }

            return(_colors[_random.Next(0, _colors.Count)]);
        }