Esempio n. 1
0
    public void DoWriteJsonArray <ENUM_FILE_NAME, T>(ENUM_FILE_NAME eFileName, T[] pWriteObj)
        where ENUM_FILE_NAME : System.IConvertible, System.IComparable
    {
        string strFilePath = ExtractLocalFilePath(eFileName, _strFolderPath);

        _pStrBuilder.Length = 0;

        Wrapper_ForArray <T> wrapper = new Wrapper_ForArray <T>();

        wrapper.array = pWriteObj;
        _pStrBuilder.Append(JsonUtility.ToJson(wrapper, true));

        try
        {
            if (System.IO.File.Exists(_strFolderPath) == false)
            {
                System.IO.Directory.CreateDirectory(_strFolderPath);
            }

            using (StreamWriter sw = new StreamWriter(File.Open(strFilePath, FileMode.Create), Encoding.UTF8))
            {
                sw.Write(_pStrBuilder.ToString());
            }
        }
        catch (System.Exception e)
        {
            Debug.LogWarning("경고 Json Write 에러 파일이름 : " + eFileName + " 에러 : " + e);
        }
    }
Esempio n. 2
0
    protected override bool OnWWWToResource_Array <TResource>(WWW www, ref TResource[] arrResource)
    {
        bool bSuccess = true;

        try
        {
            string encodedString = Encoding.UTF8.GetString(www.bytes, 3, www.bytes.Length - 3);
            Wrapper_ForArray <TResource> wrapper = JsonUtility.FromJson <Wrapper_ForArray <TResource> >(encodedString);
            arrResource = wrapper.array;
        }
        catch { bSuccess = false; }

        return(bSuccess);
    }
    static public bool DoReadJsonArray <T>(string strText, ref List <T> listOutData)
        where T : class, new()
    {
        bool bSuccess = true;

        listOutData.Clear();
        try
        {
            if (strText.Contains("array") == false)
            {
                if (strText.Contains("["))
                {
                    strText = "{ \"array\": " + strText + "}";
                }
                else
                {
                    strText = "{ \"array\": [" + strText + "]}";
                }
            }

            Wrapper_ForArray <T> wrapper = JsonUtility.FromJson <Wrapper_ForArray <T> >(strText);
            for (int i = 0; i < wrapper.array.Length; i++)
            {
                if (wrapper.array[i] != null)
                {
                    listOutData.Add(wrapper.array[i]);
                }
            }
        }
        catch (System.Exception e)
        {
            Debug.LogError(nameof(DoReadJsonArray) + "Json : " + strText + " Type : " + typeof(T).Name + " Exception : " + e);
            bSuccess = false;
        }

        if (listOutData.Count == 0)
        {
            bSuccess = false;
        }

        return(bSuccess);
    }
Esempio n. 4
0
    static public bool DoReadJsonArray <T>(WWW www, out T[] arrData)
    {
        bool bSuccess = true;

        try
        {
            string encodedString = www.text;
            if (www.bytes.Length >= 3 &&
                www.bytes[0] == 239 && www.bytes[1] == 187 && www.bytes[2] == 191)  // UTF8 코드 확인
            {
                encodedString = Encoding.UTF8.GetString(www.bytes, 3, www.bytes.Length - 3);
            }

            Wrapper_ForArray <T> wrapper = JsonUtility.FromJson <Wrapper_ForArray <T> >(encodedString);
            arrData = wrapper.array;
        }
        catch { arrData = null; bSuccess = false; }

        return(bSuccess);
    }
    static public bool DoReadJsonArray <T>(UnityEngine.Networking.UnityWebRequest www, out T[] arrData)
    {
        bool bSuccess = true;

        try
        {
            string encodedString = www.downloadHandler.text;
            if (www.downloadHandler.data.Length >= 3 &&
                www.downloadHandler.data[0] == 239 && www.downloadHandler.data[1] == 187 && www.downloadHandler.data[2] == 191)              // UTF8 코드 확인
            {
                encodedString = Encoding.UTF8.GetString(www.downloadHandler.data, 3, www.downloadHandler.data.Length - 3);
            }

            Wrapper_ForArray <T> wrapper = JsonUtility.FromJson <Wrapper_ForArray <T> >(encodedString);
            arrData = wrapper.array;
        }
        catch { arrData = null; bSuccess = false; }

        return(bSuccess);
    }
Esempio n. 6
0
    public void DoReadJsonArray_FromResource <ENUM_FILE_NAME, T>(ENUM_FILE_NAME eFileName, out T[] arrOutData)
        where ENUM_FILE_NAME : System.IConvertible, System.IComparable
    {
        string strText = "";

        if (_eResourcePath == EResourcePath.Resources)
        {
            strText = DoGetResource_Origin(eFileName.ToString()).text;
        }
        else if (_eResourcePath == EResourcePath.PersistentDataPath)
        {
            string strFilePath = ExtractLocalFilePath(eFileName, _strFolderPath);
            if (System.IO.File.Exists(strFilePath))
            {
                strText = System.IO.File.ReadAllText(strFilePath);
            }
        }

        Wrapper_ForArray <T> wrapper = JsonUtility.FromJson <Wrapper_ForArray <T> >(strText);

        arrOutData = wrapper.array;
    }
Esempio n. 7
0
    static public bool DoReadJsonArray <T>(WWW www, ref List <T> listOutData)
    {
        bool bSuccess = true;

        listOutData.Clear();
        try
        {
            string encodedString = www.text;
            if (www.bytes.Length >= 3 &&
                www.bytes[0] == 239 && www.bytes[1] == 187 && www.bytes[2] == 191)  // UTF8 코드 확인
            {
                encodedString = Encoding.UTF8.GetString(www.bytes, 3, www.bytes.Length - 3);
            }

            Wrapper_ForArray <T> wrapper = JsonUtility.FromJson <Wrapper_ForArray <T> >(encodedString);
            for (int i = 0; i < wrapper.array.Length; i++)
            {
                listOutData.Add(wrapper.array[i]);
            }
        }
        catch { listOutData = null; bSuccess = false; }

        return(bSuccess);
    }