47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using System;
|
|
using JD.Serialization;
|
|
using Plume.Interfaces.WPF.Documents;
|
|
using Plume.Interfaces.WPF.Documents.EventArgs;
|
|
|
|
namespace JD.TplEditor.Document
|
|
{
|
|
public class TplDocument : Document<TemplateObj>
|
|
{
|
|
public static readonly LuaSerializer Serializer = new LuaSerializer()
|
|
{
|
|
IgnoreDefaultValues = false,
|
|
CommentDefaultValues = true,
|
|
IncludeSpecialFields = true,
|
|
};
|
|
|
|
public TplDocument()
|
|
{
|
|
Loaded += OnLoaded;
|
|
}
|
|
|
|
private void OnLoaded(object sender, LoadEventArgs e)
|
|
{
|
|
}
|
|
|
|
|
|
public override IDocumentReader<TemplateObj> Reader { get; } = new TplDocumentReader();
|
|
|
|
public override IDocumentWriter<TemplateObj> Writer { get; } = new TplDocumentWriter();
|
|
|
|
private class TplDocumentReader : IDocumentReader<TemplateObj>
|
|
{
|
|
public TemplateObj Read(Uri uri)
|
|
{
|
|
return Serializer.LoadObjectFromFile(uri.OriginalString, typeof(TemplateObj)) as TemplateObj;
|
|
}
|
|
}
|
|
|
|
private class TplDocumentWriter : IDocumentWriter<TemplateObj>
|
|
{
|
|
public void Write(Uri uri, TemplateObj content)
|
|
{
|
|
Serializer.SaveObjectToFile(content, uri.OriginalString);
|
|
}
|
|
}
|
|
}
|
|
}
|