54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
namespace RecrownedGTK.Persistence {
|
|
/// <summary>
|
|
/// Serializable preferences.
|
|
/// </summary>
|
|
public struct PreferencesInfo {
|
|
/// <summary>
|
|
/// Array of preferences.
|
|
/// </summary>
|
|
public PreferenceInfo[] preferences;
|
|
|
|
/// <summary>
|
|
/// Sets the serializable preference with a string string value pair dictionary.
|
|
/// </summary>
|
|
/// <param name="preferences">A dictionary of string and string pair.</param>
|
|
public void SetPreferences(Dictionary<string, string> preferences)
|
|
{
|
|
this.preferences = new PreferenceInfo[preferences.Count];
|
|
int pairIndex = 0;
|
|
foreach (KeyValuePair<string, string> item in preferences)
|
|
{
|
|
this.preferences[pairIndex] = new PreferenceInfo(item.Key, item.Value);
|
|
pairIndex++;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Return a dictionary containing a string string key value pair.
|
|
/// </summary>
|
|
/// <returns>Dictionary with a string value and string key representing a preference option.</returns>
|
|
public Dictionary<string, string> GetPreferences() {
|
|
Dictionary<string, string> res = new Dictionary<string, string>();
|
|
for (int prefID = 0; prefID < preferences.Length; prefID++) {
|
|
res.Add(preferences[prefID].key, preferences[prefID].value);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Serializable preference option.
|
|
/// </summary>
|
|
public struct PreferenceInfo {
|
|
/// <summary>
|
|
/// The key and value of the option in the preferences.
|
|
/// </summary>
|
|
public string key, value;
|
|
|
|
public PreferenceInfo(string key, string value) {
|
|
this.key = key;
|
|
this.value = value;
|
|
}
|
|
}
|
|
}
|
|
} |