public void OnBeforeSerialize() { try { BeforeSerialize?.Invoke(); } catch (Exception e) { LogError(e); } foreach (FieldInfo field in _fields) { SetString(JsonUtility.ToJson(field.GetValue(this)), field.Name); } }
public override byte[] Save(Project project) { // Wrap the project in a top-level root element with some info about the XML file // format version. Note that each serializer has its own implementation of storing this metadata var rootElement = new Root { SaveVersion = CurrentSaveFormatVersion, Watermark = ProjectSerializer.DizWatermark, Project = project, }; BeforeSerialize?.Invoke(this, rootElement); var xmlStr = XmlSerializationSupport.Serialize(rootElement); return(Encoding.UTF8.GetBytes(xmlStr)); }
public override byte[] Save(Project project) { // Wrap the project in a top-level root element with some info about the XML file // format version. Note that each serializer has its own implementation of storing this metadata var rootElement = new Root { SaveVersion = CurrentSaveFormatVersion, Watermark = DizWatermark, Project = project }; BeforeSerialize?.Invoke(this, rootElement); var serializerConfig = GetSerializerConfig(); var xmlStr = serializerConfig.Create().Serialize( new XmlWriterSettings { Indent = true }, rootElement); return(Encoding.UTF8.GetBytes(xmlStr)); }
public void Serialize() { BeforeSerialize?.Invoke(); Save(); }