/// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="prettyPrint"></param>
        /// <returns></returns>
        public static string ToJson <T>(this List <T> list, bool prettyPrint)
        {
            BlueprintWrapper <T> wrapper = new BlueprintWrapper <T>();

            wrapper.Items = list.ToArray();
            return(JsonUtility.ToJson(wrapper, prettyPrint));
        }
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="array"></param>
        /// <param name="prettyPrint"></param>
        /// <returns></returns>
        public static string ToJson <T>(this T[] array, bool prettyPrint)
        {
            BlueprintWrapper <T> wrapper = new BlueprintWrapper <T>();

            wrapper.Items = array;
            return(JsonUtility.ToJson(wrapper, prettyPrint));
        }
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="json"></param>
        /// <returns></returns>
        public static T[] FromJson <T>(this string json)
        {
            BlueprintWrapper <T> wrapper = JsonUtility.FromJson <BlueprintWrapper <T> >(json);

            return(wrapper.Items);
        }