public static void DeserializeUnityObject(string stringData, [NotNull] Object objectToOverwrite, ref List <Object> objectReferences) { //Use Unity's own JsonUtility for serializing built-in UnityObject types //because it's more efficient and because OdinSerializer seems to have problems //serializing some built-in Components like Transform. if (ShouldUseJsonUtilityForTargetSerialization(objectToOverwrite)) { #if UNITY_EDITOR UnityEditor.EditorJsonUtility.FromJsonOverwrite(stringData, objectToOverwrite); #else JsonUtility.FromJsonOverwrite(stringData, objectToOverwrite); #endif } //for user-created Components (MonoBehaviours and ScriptableObjects) use OdinSerializer //so that also fields that JsonUtility cannot serialize also get copied. 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 return(jsonString); #else string deserializeFromString = stringData; byte[] bytes = Encoding.UTF8.GetBytes(deserializeFromString); UnitySerializationUtility.DeserializeUnityObject(objectToOverwrite, ref bytes, ref objectReferences, DataFormat.JSON); #endif } }
public static void DeserializeUnityObject(byte[] bytes, [NotNull] Object objectToOverwrite, ref List <Object> objectReferences) { //Use Unity's own JsonUtility for serializing built-in UnityObject types //because it's more efficient and because OdinSerializer seems to have problems //serializing some built-in Components like Transform. #if !DONT_USE_ODIN_SERIALIZER if (ShouldUseJsonUtilityForTargetSerialization(objectToOverwrite)) #endif { var jsonString = Encoding.UTF8.GetString(bytes); #if UNITY_EDITOR UnityEditor.EditorJsonUtility.FromJsonOverwrite(jsonString, objectToOverwrite); #else JsonUtility.FromJsonOverwrite(jsonString, objectToOverwrite); #endif } #if !DONT_USE_ODIN_SERIALIZER //for user-created Components (MonoBehaviours and ScriptableObjects) use OdinSerializer //so that also fields that JsonUtility cannot serialize also get copied. else { UnitySerializationUtility.DeserializeUnityObject(objectToOverwrite, ref bytes, ref objectReferences, DataFormat.JSON); } #endif }
public void LoadData() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData); if (current_types == null || current_types.Count == 0) { current_types = default_types; } }
void ISerializationCallbackReceiver.OnAfterDeserialize() { using (var cachedContext = Cache <DeserializationContext> .Claim()) { cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything; UnitySerializationUtility.DeserializeUnityObject(this, ref _serializationData, cachedContext.Value); } }
public void DeserializeFromBytes(byte[] p_bytes, DataFormat p_format, ref List <Object> p_references) { using (var cachedContext = Cache <DeserializationContext> .Claim()) { cachedContext.Value.Config.SerializationPolicy = SerializationPolicies.Everything; UnitySerializationUtility.DeserializeUnityObject(this, ref p_bytes, ref p_references, p_format, cachedContext.Value); } }
void ISerializationCallbackReceiver.OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref serializationData); if (_backingUdonBehaviourDump) { _udonSharpBackingUdonBehaviour = _backingUdonBehaviourDump; } }
public static void DeserializeObject <T>(T value, byte[] json, List <UnityEngine.Object> objectReferences) where T : UnityEngine.Object { if (json == null || json.Length == 0) { return; } UnitySerializationUtility.DeserializeUnityObject(value, ref json, ref objectReferences, DataFormat.JSON); }
void ISerializationCallbackReceiver.OnAfterDeserialize() { if (string.IsNullOrEmpty(_serializedJsonString) == false && _serializedJsonString != "{}") { LoadFullSerializerData(); _serializedJsonString = ""; _objectReferences = new List <UnityEngine.Object>(); _loadedFullSerializerData = true; } UnitySerializationUtility.DeserializeUnityObject((UnityEngine.Object) this, ref this.serializationData, (DeserializationContext)null); }
void ISerializationCallbackReceiver.OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData); if (this.Hooks == null) { this.Hooks = new List <AutomatedValidationHook>(); } else { this.Hooks.RemoveAll(n => n.Hook == null); } }
public static void OdinDeserializeInto <T>(this OdinSerializationData data, ref T instance) { try { var context = BeginOdinDeserializationContext(); if (instance is UnityObject uo) { UnitySerializationUtility.DeserializeUnityObject(uo, ref data, context); } else { instance = SerializationUtility.DeserializeValue <T>(data.SerializedBytes, data.SerializedFormat, data.ReferencedUnityObjects, context); } EndOdinDeserializationContext(context); } catch (ThreadAbortException) { } catch (Exception ex) { throw new SerializationException($"Deserialization into '{instance?.GetType().ToString() ?? "null"}' failed.", ex); } }
void ISerializationCallbackReceiver.OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData); this.OnAfterDeserialize(); }
protected override void OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref serializationData); base.OnAfterDeserialize(); }
public void OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref serializationData); }
public void LoadData() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serialization_data); //Debug.Log("LoadData"); }
public void LoadData() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serialization_data); FixNullGraphInstace(!is_ready); is_ready = true; }