public override string GetPresentationString(string value) { if (value == null) { throw new ArgumentNullException("value"); } return(String.Format("{0} ({1})", Color.GetName(value), Color.Parse(value))); }
public ColorKeyAttribute(ConfigSection section, string defaultColor, string description) : base(section, typeof(string), Color.GetName(defaultColor), description) { }
public bool Save(string configFileName) { XDocument file = new XDocument(); XElement config = new XElement(ConfigRootName); config.Add(new XAttribute("version", ConfigVersion)); foreach (KeyValuePair <string, string> pair in settings) { config.Add(new XElement(pair.Key, pair.Value)); } XElement consoleOptions = new XElement("ConsoleOptions"); for (int i = 0; i < logger.consoleOptions.Length; i++) { if (logger.consoleOptions[i]) { consoleOptions.Add(new XElement(((LogType)i).ToString())); } } config.Add(consoleOptions); XElement logFileOptions = new XElement("LogFileOptions"); for (int i = 0; i < logger.logFileOptions.Length; i++) { if (logger.logFileOptions[i]) { logFileOptions.Add(new XElement(((LogType)i).ToString())); } } config.Add(logFileOptions); XElement classesTag = new XElement("Classes"); foreach (PlayerClass playerClass in classes.classes.Values) { XElement classTag = new XElement("PlayerClass"); classTag.Add(new XAttribute("name", playerClass.name)); classTag.Add(new XAttribute("rank", playerClass.rank)); classTag.Add(new XAttribute("color", Color.GetName(playerClass.color))); if (playerClass.prefix.Length > 0) { classTag.Add(new XAttribute("prefix", playerClass.prefix)); } if (playerClass.spamKickThreshold > 0) { classTag.Add(new XAttribute("spamKickAt", playerClass.spamKickThreshold)); } if (playerClass.spamBanThreshold > 0) { classTag.Add(new XAttribute("spamBanAt", playerClass.spamBanThreshold)); } if (playerClass.idleKickTimer > 0) { classTag.Add(new XAttribute("idleKickAfter", playerClass.idleKickTimer)); } if (playerClass.reservedSlot) { classTag.Add(new XAttribute("reserveSlot", playerClass.reservedSlot)); } XElement temp; for (int i = 0; i < Enum.GetValues(typeof(Permissions)).Length; i++) { if (playerClass.permissions[i]) { temp = new XElement(((Permissions)i).ToString()); if (i == (int)Permissions.Ban && playerClass.maxBan != null) { temp.Add(new XAttribute("max", playerClass.maxBan.name)); } else if (i == (int)Permissions.Kick && playerClass.maxKick != null) { temp.Add(new XAttribute("max", playerClass.maxKick.name)); } else if (i == (int)Permissions.Promote && playerClass.maxPromote != null) { temp.Add(new XAttribute("max", playerClass.maxPromote.name)); } else if (i == (int)Permissions.Demote && playerClass.maxDemote != null) { temp.Add(new XAttribute("max", playerClass.maxDemote.name)); } classTag.Add(temp); } } classesTag.Add(classTag); } config.Add(classesTag); file.Add(config); // save the settings try { file.Save(configFileName); return(true); } catch (Exception ex) { Log("Config.Load: Fatal error while saving config file {0}: {1}", LogType.FatalError, configFileName, ex.Message); return(false); } }