using System; using System.Collections.Generic; using UnityEngine; using Newtonsoft.Json; using TNode.JsonSerialize; using UnityEngine.Serialization; namespace TNode.Models{ [Serializable] public class GraphData:ScriptableObject,ISerializationCallbackReceiver{ [SerializeField] public Dictionary NodeDictionary = new Dictionary(); public List nodeLinks = new List(); [HideInInspector] [SerializeField] //[HideInInspector] private string jsonObject; public void OnBeforeSerialize(){ var serializedData = JsonConvert.SerializeObject(NodeDictionary,JsonSerializeTool.JsonSerializerSettings); jsonObject = serializedData; } public void OnAfterDeserialize(){ var deserializedData = JsonConvert.DeserializeObject>(jsonObject,JsonSerializeTool.JsonSerializerSettings); var deserializedData2 = JsonUtility.FromJson>(jsonObject); NodeDictionary = deserializedData; Debug.Log("hi"); } } }