Skip to content

Commit ea72aaf

Browse files
committed
Use CustomDataMap class.
1 parent 5022509 commit ea72aaf

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

ReClass.NET/DataExchange/ReClass/ReClassNetFile.Read.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ public void Load(Stream input, ILogger logger)
5858
var customDataElement = document.Root.Element(XmlCustomDataElement);
5959
if (customDataElement != null)
6060
{
61-
foreach (var kv in customDataElement.Elements())
62-
{
63-
project.CustomData[kv.Name.ToString()] = kv.Value;
64-
}
61+
project.CustomData.Deserialize(customDataElement);
6562
}
6663

6764
var classes = new List<Tuple<XElement, ClassNode>>();

ReClass.NET/DataExchange/ReClass/ReClassNetFile.Write.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void Save(Stream output, ILogger logger)
3535
new XAttribute(XmlVersionAttribute, FileVersion),
3636
new XAttribute(XmlPlatformAttribute, Constants.Platform),
3737
new XElement(XmlClassesElement, CreateClassElements(project.Classes, logger)),
38-
new XElement(XmlCustomDataElement, project.CustomData.Select(kv => new XElement(kv.Key, kv.Value)))
38+
project.CustomData.Serialize(XmlCustomDataElement)
3939
)
4040
);
4141

ReClass.NET/Project/ReClassNetProject.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Diagnostics.Contracts;
44
using System.Linq;
55
using ReClassNET.Nodes;
6+
using ReClassNET.Util;
67

78
namespace ReClassNET.Project
89
{
@@ -22,7 +23,7 @@ public class ReClassNetProject : IDisposable
2223
/// Key-Value map with custom data for plugins to store project related data.
2324
/// The preferred key format is {Plugin Name}_{Key Name}.
2425
/// </summary>
25-
public Dictionary<string, string> CustomData { get; } = new Dictionary<string, string>();
26+
public CustomDataMap CustomData { get; } = new CustomDataMap();
2627

2728
public void Dispose()
2829
{

ReClass.NET/Util/CustomDataMap.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ IEnumerator IEnumerable.GetEnumerator()
3838
return GetEnumerator();
3939
}
4040

41+
public string this[string key]
42+
{
43+
get => GetString(key);
44+
set => SetString(key, value);
45+
}
46+
4147
/// <summary>
4248
/// Sets a configuration item.
4349
/// </summary>

0 commit comments

Comments
 (0)