public static string SerializeUnityObject(Object target, ref List <Object> objectReferences)
        {
                        #if !DONT_USE_ODIN_SERIALIZER
            if (ShouldUseJsonUtilityForTargetSerialization(target))
                        #endif
            {
                                #if UNITY_EDITOR
                return(UnityEditor.EditorJsonUtility.ToJson(target));
                                #else
                return(JsonUtility.ToJson(target));
                                #endif
            }

                        #if DONT_USE_ODIN_SERIALIZER
            var jsonString = JsonConvert.SerializeObject(target, InspectorPreferences.jsonSerializerSettings);
                        #if DEV_MODE
            Debug.Log("Target Serialized with Json.NET:\n" + jsonString, target);
                        #endif
            return(jsonString);
                        #else
            byte[] byteData = null;
            UnitySerializationUtility.SerializeUnityObject(target, ref byteData, ref objectReferences, DataFormat.JSON, true);

                        #if DEV_MODE
            Debug.Log("SerializeUnityObject: " + StringUtils.ToString(Encoding.UTF8.GetString(byteData)));
                        #endif

            return(Encoding.UTF8.GetString(byteData));
                        #endif
        }
Exemple #2
0
 public static void SerializeUnityObject(Object target, ref byte[] bytes, ref List <Object> objectReferences)
 {
                 #if !DONT_USE_ODIN_SERIALIZER
     if (ShouldUseJsonUtilityForTargetSerialization(target))
                 #endif
     {
                         #if UNITY_EDITOR
         var jsonString = UnityEditor.EditorJsonUtility.ToJson(target);
                         #else
         var jsonString = JsonUtility.ToJson(target);
                         #endif
         bytes = Encoding.UTF8.GetBytes(jsonString);
         if (objectReferences == null)
         {
             objectReferences = new List <Object>();
         }
         else
         {
             objectReferences.Clear();
         }
     }
                 #if !DONT_USE_ODIN_SERIALIZER
     UnitySerializationUtility.SerializeUnityObject(target, ref bytes, ref objectReferences, DataFormat.Binary, true);
                 #endif
 }
Exemple #3
0
        public static byte[] SerializeObject <T>(T value, List <UnityEngine.Object> objectReferences)
            where T : UnityEngine.Object
        {
            var bytes = new byte[0];

            UnitySerializationUtility.SerializeUnityObject(value, ref bytes, ref objectReferences, DataFormat.JSON);
            return(bytes);
        }
Exemple #4
0
 void ISerializationCallbackReceiver.OnBeforeSerialize()
 {
     using (var cachedContext = Cache <SerializationContext> .Claim())
     {
         cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything;
         UnitySerializationUtility.SerializeUnityObject(this, ref _serializationData, serializeUnityFields: true, context: cachedContext.Value);
     }
 }
Exemple #5
0
 public void SaveData()
 {
     if (Application.isPlaying || isInstance)
     {
         return;
     }
     FixNullGraphInstace();
     UnitySerializationUtility.SerializeUnityObject(this, ref this.serialization_data, true);
 }
Exemple #6
0
 public void SaveData()
 {
     if (Application.isPlaying)
     {
         return;
     }
     if (current_types == null || current_types.Count == 0)
     {
         current_types = default_types;
     }
     UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData, true);
 }
Exemple #7
0
        void ISerializationCallbackReceiver.OnBeforeSerialize()
        {
            if (Application.isEditor && !Application.isPlaying)
            {
                isSerializing = false;

                using (var cachedContext = Cache <SerializationContext> .Claim())
                {
                    cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything;
                    UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData, serializeUnityFields: true, context: cachedContext.Value);
                }
            }
        }
Exemple #8
0
        public byte[] SerializeToBytes(DataFormat p_format, ref List <Object> p_references)
        {
            byte[] bytes = null;

            using (var cachedContext = Cache <SerializationContext> .Claim())
            {
                cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything;
                UnitySerializationUtility.SerializeUnityObject(this, ref bytes, ref p_references, p_format, true,
                                                               cachedContext.Value);
            }

            return(bytes);
        }
Exemple #9
0
 public void SaveData()
 {
     if (Application.isPlaying)
     {
         return;
     }
     if (graph && graph.graph)
     {
         CopyParameters(graph.graph);
     }
     UnitySerializationUtility.SerializeUnityObject(this, ref this.serialization_data, true);
     //Debug.Log("SaveData");
 }
        public static OdinSerializationData OdinSerialize <T>(this T value, ref OdinSerializationData data, DataFormat format = DataFormat.Binary)
        {
            try
            {
                var context = BeginOdinSerializationContext();

                if (value is UnityObject uo)
                {
                    UnitySerializationUtility.SerializeUnityObject(uo, ref data, true, context);
                }
                else
                {
                    data.SerializedFormat = format;

                    if (format == DataFormat.Binary)
                    {
                        var bytes = SerializationUtility.SerializeValue(value, format, out var unityObjects, context);
                        data.SerializedBytes        = bytes;
                        data.ReferencedUnityObjects = unityObjects;
                    }
                    else if (format == DataFormat.JSON)
                    {
                        var bytes = SerializationUtility.SerializeValue(value, format, out var unityObjects, context);
                        data.SerializedBytesString  = Convert.ToBase64String(bytes);
                        data.ReferencedUnityObjects = unityObjects;
                    }
                    else if (format == DataFormat.Nodes)
                    {
                        using (var writer = new SerializationNodeDataWriter(context))
                        {
                            SerializationUtility.SerializeValue(writer, format, out var unityObjects, context);
                            data.SerializationNodes     = writer.Nodes;
                            data.ReferencedUnityObjects = unityObjects;
                        }
                    }
                    else
                    {
                        throw new UnexpectedEnumValueException <DataFormat>(format);
                    }
                }

                EndOdinSerializationContext(context);

                return(data);
            }
            catch (Exception ex)
            {
                throw new SerializationException($"Serialization of '{value?.GetType().ToString() ?? "null"}' failed.", ex);
            }
        }
Exemple #11
0
        void ISerializationCallbackReceiver.OnBeforeSerialize()
        {
            //Debug.Log("OnBeforeSerialize");
            #if UNITY_EDITOR
            if (DashEditorCore.EditorConfig.editingController != null && DashEditorCore.EditorConfig.editingGraph == this)
            {
                DashEditorCore.EditorConfig.editingController.ReserializeBound();
            }
            else
            {
                GetNodesByType <SubGraphNode>().ForEach(n => n.ReserializeBound());

                using (var cachedContext = OdinSerializer.Utilities.Cache <SerializationContext> .Claim())
                {
                    cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything;
                    UnitySerializationUtility.SerializeUnityObject(this, ref _serializationData, serializeUnityFields: true, context: cachedContext.Value);
                }
            }
            #endif
        }
 public static void SerializeUnityObject(Object target, ref byte[] bytes, ref List <Object> objectReferences)
 {
     if (ShouldUseJsonUtilityForTargetSerialization(target))
     {
                         #if UNITY_EDITOR
         var jsonString = UnityEditor.EditorJsonUtility.ToJson(target);
                         #else
         var jsonString = JsonUtility.ToJson(target);
                         #endif
         bytes = Encoding.UTF8.GetBytes(jsonString);
         if (objectReferences == null)
         {
             objectReferences = new List <Object>();
         }
         else
         {
             objectReferences.Clear();
         }
     }
     else
     {
                         #if DONT_USE_ODIN_SERIALIZER
         var jsonString = JsonConvert.SerializeObject(target, InspectorPreferences.jsonSerializerSettings);
                         #if DEV_MODE
         Debug.Log("Target Serialized with Json.NET:\n" + jsonString, target);
                         #endif
         bytes = Encoding.UTF8.GetBytes(jsonString);
         if (objectReferences == null)
         {
             objectReferences = new List <Object>();
         }
         else
         {
             objectReferences.Clear();
         }
                         #else
         UnitySerializationUtility.SerializeUnityObject(target, ref bytes, ref objectReferences, DataFormat.Binary, true);
                         #endif
     }
 }
Exemple #13
0
        public static string SerializeUnityObject(Object target, ref List <Object> objectReferences)
        {
                        #if !DONT_USE_ODIN_SERIALIZER
            if (ShouldUseJsonUtilityForTargetSerialization(target))
                        #endif
            {
                                #if UNITY_EDITOR
                return(UnityEditor.EditorJsonUtility.ToJson(target));
                                #else
                return(JsonUtility.ToJson(target));
                                #endif
            }

                        #if !DONT_USE_ODIN_SERIALIZER
            byte[] byteData = null;
            UnitySerializationUtility.SerializeUnityObject(target, ref byteData, ref objectReferences, DataFormat.JSON, true);

                        #if DEV_MODE
            Debug.Log("SerializeUnityObject: " + StringUtils.ToString(Encoding.UTF8.GetString(byteData)));
                        #endif

            return(Encoding.UTF8.GetString(byteData));
                        #endif
        }
 public void OnBeforeSerialize()
 {
     UnitySerializationUtility.SerializeUnityObject(this, ref serializationData);
 }
Exemple #15
0
 protected override void OnBeforeSerialize()
 {
     UnitySerializationUtility.SerializeUnityObject(this, ref serializationData);
     base.OnBeforeSerialize();
 }
 void ISerializationCallbackReceiver.OnBeforeSerialize()
 {
     UnitySerializationUtility.SerializeUnityObject((UnityEngine.Object) this, ref this.serializationData, false, (SerializationContext)null);
 }
 void ISerializationCallbackReceiver.OnBeforeSerialize()
 {
     this.OnBeforeSerialize();
     UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
 }
 void ISerializationCallbackReceiver.OnBeforeSerialize()
 {
     UnitySerializationUtility.SerializeUnityObject(this, ref serializationData);
     _backingUdonBehaviourDump = _udonSharpBackingUdonBehaviour;
 }