using System; using System.Collections.Generic; using UnityEngine; [Serializable] public class SerializableDictionary { [Serializable] public class Node { public TKey key; public TValue value; } [SerializeField] private List nodes; private Dictionary dictionary; public Dictionary Dictionary { get { if (dictionary == null) { dictionary = ToDictionary(); } return dictionary; } } private Dictionary ToDictionary() { Dictionary dictionary = new Dictionary(); foreach(Node node in nodes) { dictionary.Add(node.key, node.value); } return dictionary; } }