public void OnAfterDeserialize()
 {
     blockEntities = new List <BlockEntity>();
     foreach (var serialized in SerializedBlockEntities)
     {
         blockEntities.Add(SerializedBlockEntity.Deserialize(serialized));
     }
 }
        public void OnBeforeSerialize()
        {
            SerializedBlockEntities = new List <SerializedBlockEntity>();

            foreach (var block in blockEntities)
            {
                SerializedBlockEntities.Add(SerializedBlockEntity.Serialize(block));
            }
        }
 public static BlockEntity Deserialize(SerializedBlockEntity sd)
 {
     return((BlockEntity)JsonUtility.FromJson(sd.data, Type.GetType(sd.type)));
 }