BackgroundImageSettingsService(ISettingsService settingsService, IBackgroundImageOptionDefinitionService backgroundImageOptionDefinitionService) {
			this.settingsService = settingsService;
			settingsInfos = new Dictionary<string, SettingsInfo>(backgroundImageOptionDefinitionService.AllSettings.Length, StringComparer.Ordinal);

			foreach (var lazy in backgroundImageOptionDefinitionService.AllSettings) {
				if (settingsInfos.ContainsKey(lazy.Value.Id))
					continue;
				settingsInfos[lazy.Value.Id] = new SettingsInfo(lazy);
			}

			var allSettingsIds = new HashSet<string>(backgroundImageOptionDefinitionService.AllSettings.Select(a => a.Value.Id), StringComparer.Ordinal);
			var rootSection = settingsService.GetOrCreateSection(SETTINGS_GUID);
			foreach (var section in rootSection.SectionsWithName(SettingsName)) {
				var rawSettings = new RawSettings(section);
				if (!rawSettings.IsValid)
					continue;
				SettingsInfo info;
				if (!settingsInfos.TryGetValue(rawSettings.Id, out info))
					continue;
				if (!allSettingsIds.Contains(rawSettings.Id))
					continue;
				allSettingsIds.Remove(rawSettings.Id);
				if (info.Lazy.Value.UserVisible) {
					info.SettingsSection = section;
					info.RawSettings.CopyFrom(rawSettings);
				}
			}
		}
Beispiel #2
0
 public void setSettings(RawSettings s)
 {
     if (!CurrentContext.Valid || !CurrentContext.Admin)
     {
         return;
     }
     s.Store();
 }
Beispiel #3
0
        public static DataRow AddRecentPlayer(string serverAddress,
                                              int serverPort,
                                              Strive.Network.Messages.NetworkProtocolType protocol,
                                              string emailaddress,
                                              string password)
        {
            string  serverKey = serverAddress + serverPort;
            DataRow serverRow;

            if (!RecentServers.Rows.Contains(serverKey))
            {
                AddRecentServer(serverAddress, serverPort, protocol);
                serverRow = RecentServers.Rows.Find(serverKey);
                DataRow newPlayerRow = RawSettings.Tables["RecentPlayers"].NewRow();
                newPlayerRow["serverkey"]    = serverKey;
                newPlayerRow["emailaddress"] = emailaddress;
                newPlayerRow["password"]     = password;
                RawSettings.Tables["RecentPlayers"].Rows.Add(newPlayerRow);
                RawSettings.AcceptChanges();
            }
            else
            {
                serverRow = RecentServers.Rows.Find(serverKey);
            }

            DataRow playerRow;
            string  playerKey = emailaddress;

            if (RawSettings.Tables["RecentPlayers"].Rows.Contains(new string[] { playerKey, serverKey }))
            {
                playerRow = RawSettings.Tables["RecentPlayers"].Rows.Find(new string[] { playerKey, serverKey });
                playerRow["emailaddress"] = emailaddress;
                playerRow["password"]     = password;
            }
            else
            {
                playerRow = RawSettings.Tables["RecentPlayers"].NewRow();
                playerRow["playerkey"]    = playerKey;
                playerRow["serverkey"]    = serverKey;
                playerRow["emailaddress"] = emailaddress;
                playerRow["password"]     = password;
                RawSettings.Tables["RecentPlayers"].Rows.Add(playerRow);
            }

            RawSettings.Tables["RecentPlayers"].AcceptChanges();
            Log.Info("Added player '" + emailaddress + "' to recent players");

            return(playerRow);
        }
Beispiel #4
0
 public Settings(RawSettings o) : base(o)
 {
 }
Beispiel #5
0
 public RawSettings(RawSettings o)
 {
     values = new Dictionary <string, string>(o.values);
 }
Beispiel #6
0
 public void AddRawSettings(string setting, string value)
 {
     RawSettings.Add(setting, value);
 }
 public void WriteSettings(RawSettings rawSettings)
 {
     throw new System.NotImplementedException();
 }
			public SettingsInfo(Lazy<IBackgroundImageOptionDefinition, IBackgroundImageOptionDefinitionMetadata> lazy) {
				Lazy = lazy;
				var defaultSettings = lazy.Value.GetDefaultImageSettings();
				RawSettings = defaultSettings == null ? new RawSettings(lazy.Value.Id) : new RawSettings(lazy.Value.Id, defaultSettings);
				BackgroundImageSettings = new BackgroundImageSettings(RawSettings);
			}
		public ImageSettingsInfo(Lazy<IBackgroundImageOptionDefinition, IBackgroundImageOptionDefinitionMetadata> lazy, RawSettings rawSettings) {
			Lazy = lazy;
			RawSettings = rawSettings;
		}
		public void SetRawSettings(RawSettings[] settings) {
			if (settings == null)
				throw new ArgumentNullException(nameof(settings));
			foreach (var rs in settings) {
				if (rs.Id == null)
					continue;
				SettingsInfo info;
				if (!settingsInfos.TryGetValue(rs.Id, out info))
					continue;
				if (info.RawSettings.Equals(rs))
					continue;
				info.RawSettings.CopyFrom(rs);
				info.BackgroundImageSettings.RaiseSettingsChanged();
				if (info.Lazy.Value.UserVisible) {
					var rootSection = settingsService.GetOrCreateSection(SETTINGS_GUID);
					if (info.SettingsSection != null)
						rootSection.RemoveSection(info.SettingsSection);
					info.SettingsSection = rootSection.CreateSection(SettingsName);
					info.RawSettings.SaveSettings(info.SettingsSection);
				}
			}
		}
Beispiel #11
0
 public void WriteSettings(RawSettings rawSettings)
 {
     settingsFileStream = new FileStream(SETTINGS_FILENAME, FileMode.CreateNew, FileAccess.Write);
     formatter.Serialize(settingsFileStream, rawSettings);
     settingsFileStream.Close();
 }
Beispiel #12
0
 public Settings()
 {
     _config = new RawSettings();
 }