Unity graph tool solution based on different implementation now focused on Unity.Experimental.Graphview
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
870 B

using System;
using System.Collections.Generic;
using UnityEngine;
using Newtonsoft.Json;
namespace TNode.Models{
[Serializable]
public class GraphData:ScriptableObject,ISerializationCallbackReceiver{
[SerializeField]
public Dictionary<string,NodeData> NodeDictionary = new Dictionary<string,NodeData>();
public List<NodeLink> NodeLinks = new List<NodeLink>();
[SerializeField]
[HideInInspector]
private string jsonObject;
public void OnBeforeSerialize(){
var serializedData = JsonConvert.SerializeObject(NodeDictionary);
jsonObject = serializedData;
}
public void OnAfterDeserialize(){
var deserializedData = JsonConvert.DeserializeObject<Dictionary<string,NodeData>>(jsonObject);
NodeDictionary = deserializedData;
}
}
}