/// <summary> /// Tries to load the specified configuration file, creating a default /// configuration file if the specified one does not exist. /// </summary> /// <param name="fname">the name of the configuration file to load</param> /// <returns>a <see cref="T:WCell.AuthServer.Privileges.RoleGroupConfig" /> object representing the loaded file</returns> public static RoleGroupConfig LoadConfigOrDefault(string fname) { string fullPath = RealmServerConfiguration.GetFullPath(RealmServerConfiguration.ConfigDir); string str = Path.Combine(fullPath, fname); RoleGroupConfig roleGroupConfig = File.Exists(str) ? XmlFile <RoleGroupConfig> .Load(str) : (RoleGroupConfig)null; if (RoleGroupInfo.HighestRole == null || RoleGroupInfo.HighestRole.IsStaff) { roleGroupConfig = new RoleGroupConfig() { RoleGroups = RoleGroupInfo.CreateDefaultGroups().ToArray() }; roleGroupConfig.SaveAs(fname, fullPath); } return(roleGroupConfig); }
/// <summary> /// Tries to load the specified configuration file, creating a default /// configuration file if the specified one does not exist. /// </summary> /// <param name="fname">the name of the configuration file to load</param> /// <returns>a <see cref="RoleGroupConfig" /> object representing the loaded file</returns> public static RoleGroupConfig LoadConfigOrDefault(string fname) { var confFolder = RealmServerConfiguration.GetFullPath(RealmServerConfiguration.ConfigDir); var privFile = Path.Combine(confFolder, fname); var cfg = File.Exists(privFile) ? Load(privFile) : null; if (RoleGroupInfo.HighestRole == null || RoleGroupInfo.HighestRole.IsStaff) { cfg = new RoleGroupConfig { RoleGroups = RoleGroupInfo.CreateDefaultGroups().ToArray() }; cfg.SaveAs(fname, confFolder); } return(cfg); }