Example #1
0
        private static CombinedColor GetCombinedColorFromNode(XmlNode xmlNode, CombinedColor defaultColor)
        {
            bool useColor = true;

            if (xmlNode != null)
            {
                XmlNode useColorNode = xmlNode["UseColor"];
                if (useColorNode != null)
                {
                    useColor = GetValueFromAttribute <bool>(useColorNode.Attributes["Value"]);
                }

                if (useColor)
                {
                    XmlNode backgroundColorNode = xmlNode["BackgroundColor"];
                    XmlNode foregroundColorNode = xmlNode["ForegroundColor"];
                    return(new CombinedColor()
                    {
                        UseColor = useColor, BackgroundColor = GetColorFromNode(backgroundColorNode), ForegroundColor = GetColorFromNode(foregroundColorNode)
                    });
                }
                else
                {
                    return(new CombinedColor()
                    {
                        UseColor = useColor, BackgroundColor = SystemColors.Window, ForegroundColor = SystemColors.WindowText
                    });
                }
            }

            return(defaultColor);
        }
Example #2
0
        public void CorrectlySetsTheInitialValue()
        {
            var color = new CombinedColor(EgaColor.LtBlue, EgaColor.Cyan);

            Assert.AreEqual(EgaColor.Cyan, color.Foreground);
            Assert.AreEqual(EgaColor.LtBlue, color.Background);
        }
Example #3
0
        public void CorrectlySetsTheForegroundColor()
        {
            var color = new CombinedColor(EgaColor.LtBlue, EgaColor.Cyan);

            color.Foreground = EgaColor.Yellow;

            Assert.AreEqual(EgaColor.Yellow, color.Foreground);
            Assert.AreEqual(EgaColor.LtBlue, color.Background);
        }
Example #4
0
        private static CombinedColor[] GetElementColorsFromNode(XmlNode xmlNode, CombinedColor[] defaultElementColors)
        {
            if (xmlNode == null)
            {
                return(defaultElementColors);
            }

            CombinedColor[] resultElementColors = new CombinedColor[defaultElementColors.Length];

            XmlNodeList innerNodes     = xmlNode.ChildNodes;
            int         innerNodeCount = innerNodes.Count;

            for (int index = 0; index < defaultElementColors.Length; index++)
            {
                XmlNode innerNode = (index < innerNodeCount) ? xmlNode.ChildNodes[index] : null;
                resultElementColors[index] = GetCombinedColorFromNode(innerNode, defaultElementColors[index]);
            }

            return(resultElementColors);
        }
Example #5
0
        private static CombinedColor[][] GetTeamColorsFromNode(XmlNode xmlNode, CombinedColor[][] defaultTeamColors)
        {
            if (xmlNode == null)
            {
                return(defaultTeamColors);
            }

            XmlAttribute attrUse = xmlNode.Attributes["Use"];

            if (attrUse != null)
            {
                bool isUsing = true;
                if (bool.TryParse(attrUse.InnerText, out isUsing))
                {
                    if (!isUsing)
                    {
                        CombinedColor[][] unusedTeamColors = new CombinedColor[4][];
                        for (int teamIndex = 0; teamIndex < 4; teamIndex++)
                        {
                            unusedTeamColors[teamIndex] = new CombinedColor[3];
                            for (int colorIndex = 0; colorIndex < 3; colorIndex++)
                            {
                                unusedTeamColors[teamIndex][colorIndex] = new CombinedColor
                                {
                                    UseColor        = false,
                                    ForegroundColor = defaultTeamColors[teamIndex][colorIndex].ForegroundColor,
                                    BackgroundColor = defaultTeamColors[teamIndex][colorIndex].BackgroundColor
                                }
                            }
                            ;
                        }

                        return(unusedTeamColors);
                    }
                }
            }

            CombinedColor[][] resultTeamColors = new CombinedColor[4][];
            for (int teamIndex = 0; teamIndex < 4; teamIndex++)
            {
                resultTeamColors[teamIndex] = new CombinedColor[3];
                for (int colorIndex = 0; colorIndex < 3; colorIndex++)
                {
                    resultTeamColors[teamIndex][colorIndex] = defaultTeamColors[teamIndex][colorIndex];
                }
            }

            XmlNodeList teamNodes     = xmlNode.ChildNodes;
            int         teamNodeCount = Math.Min(teamNodes.Count, 4);

            for (int teamNodeIndex = 0; teamNodeIndex < teamNodeCount; teamNodeIndex++)
            {
                XmlNode     teamNode       = teamNodes[teamNodeIndex];
                XmlNodeList colorNodes     = teamNode.ChildNodes;
                int         colorNodeCount = Math.Min(colorNodes.Count, 3);
                for (int colorNodeIndex = 0; colorNodeIndex < colorNodeCount; colorNodeIndex++)
                {
                    XmlNode colorNode = colorNodes[colorNodeIndex];
                    resultTeamColors[teamNodeIndex][colorNodeIndex] = GetCombinedColorFromNode(colorNode, defaultTeamColors[teamNodeIndex][colorNodeIndex]);
                }
            }

            return(resultTeamColors);
        }