示例#1
0
        /// <summary>Manages the number of different colors that the Windows console is able to display in a given session.</summary>
        public ConsoleColorManager()
        {
            colorStore  = new ColorStore();
            colorMapper = new ColorMapper();

            colorChangeCount = INITIAL_COLOR_CHANGE_COUNT_VALUE;
            maxColorChanges  = MAX_COLOR_CHANGES;
        }
        public ColorManager GetManager
            (ConcurrentDictionary <Color, ConsoleColor> colorMap, ConcurrentDictionary <ConsoleColor, Color> consoleColorMap, int maxColorChanges, int initialColorChangeCountValue)
        {
            ColorStore  colorStore  = GetColorStore(colorMap, consoleColorMap);
            ColorMapper colorMapper = GetColorMapper();

            return(new ColorManager(colorStore, colorMapper, maxColorChanges, initialColorChangeCountValue));
        }
示例#3
0
        /// <summary>Manages the number of different colors that the Windows console is able to display in a given session.</summary>
        /// <param name="colorStore">The ColorStore instance in which the ColorManager will store colors.</param>
        /// <param name="colorMapper">The ColorMapper instance the ColorManager will use to relate different color types to one another.</param>
        /// <param name="maxColorChanges">
        ///    The maximum number of color changes allowed by the ColorManager.  It's necessary to keep track of this, because the Windows console can only display
        ///    16 different colors in a given session.
        /// </param>
        /// <param name="initialColorChangeCountValue">The number of color changes which have already occurred.</param>
        public ColorManager(ColorStore colorStore, ColorMapper colorMapper, int maxColorChanges, int initialColorChangeCountValue)
        {
            this.colorStore  = colorStore;
            this.colorMapper = colorMapper;

            colorChangeCount     = initialColorChangeCountValue;
            this.maxColorChanges = maxColorChanges;
        }