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));
    }
Example #4
0
 public void Serialize()
 {
     BeforeSerialize?.Invoke();
     Save();
 }