/// <summary> /// 対象地域の天気を取得する /// 現在未使用 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public static IEnumerator GetWetherList(int days) { WWWForm ps = new WWWForm(); string jsonText = ""; using (UnityWebRequest request = UnityWebRequest.Post(LpsDefine.LIPLIS_API_LOCATION_WEATHER, ps)) { yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log(request.error); } else { if (request.responseCode == 200) { // UTF8文字列として取得する jsonText = LpsGzipUtil.Decompress(request.downloadHandler.data); } } } //APIの結果受け取り用クラス yield return(JsonConvert.DeserializeObject <ResLpsWeatherInfo60List>(jsonText)); }
/// <summary> /// 対象地域の天気を取得する /// 現在未使用 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public static IEnumerator GetAnniversaryDaysList() { WWWForm ps = new WWWForm(); string jsonText = ""; using (UnityWebRequest request = UnityWebRequest.Post(LpsDefine.LIPLIS_API_WHATDAY_ISTODAY, ps)) { yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log(request.error); } else { if (request.responseCode == 200) { // UTF8文字列として取得する jsonText = LpsGzipUtil.Decompress(request.downloadHandler.data); } } } //APIの結果受け取り用クラス yield return(JsonConvert.DeserializeObject <ResWhatDayIsToday>(jsonText)); }
/// <summary> /// 最新話題データ取得 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public static IEnumerator GetNewTopic(List <string> toneUrlList) { WWWForm ps = new WWWForm(); //レックトピック生成 string json = JsonConvert.SerializeObject(TopicUtil.CreateReqTopic(toneUrlList)); //パラメータ生成 ps.AddField("reqmsg", json); //トーンURL string jsonText = ""; using (UnityWebRequest request = UnityWebRequest.Post(LpsDefine.LIPLIS_API_NEW_TOPIC_2_MLT, ps)) { yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log(request.error); } else { if (request.responseCode == 200) { // UTF8文字列として取得する jsonText = LpsGzipUtil.Decompress(request.downloadHandler.data); } } } //APIの結果受け取り用クラス yield return(JsonConvert.DeserializeObject <ResLpsTopicList>(jsonText)); }
/// <summary> /// 最新話題データ取得 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public static IEnumerator GetNewTopic(string toneUrl) { WWWForm ps = new WWWForm(); ps.AddField("tone", toneUrl); //トーンURL string jsonText = ""; using (UnityWebRequest request = UnityWebRequest.Post(LpsDefine.LIPLIS_API_NEW_TOPIC_2, ps)) { yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log(request.error); } else { if (request.responseCode == 200) { // UTF8文字列として取得する jsonText = LpsGzipUtil.Decompress(request.downloadHandler.data); //jsonText = request.downloadHandler.text; } } } //APIの結果受け取り用クラス yield return(JsonConvert.DeserializeObject <ResLpsTopicList>(jsonText)); }
/// <summary> /// ポストして、帰ってきたGzip圧縮ストリームをUTF8で解凍して返す /// /// Gzip圧縮データ受け用のメソッド /// </summary> /// <param name="url"></param> /// <param name="postData"></param> /// <returns></returns> public static string sendPostAndDecompressUtf8(string url, NameValueCollection postData) { string t = LpsGzipUtil.Decompress(sendPostGetStream(url, postData)); //解凍して返す return(LpsGzipUtil.Decompress(sendPostGetStream(url, postData))); }
/// <summary> /// 保存する /// </summary> public override void Save() { //ディクショナリシリアライズ var serialDict = new Serialization <string, string>(saveDictionary); serialDict.OnBeforeSerialize(); string dictJsonString = JsonUtility.ToJson(serialDict); //圧縮 byte[] data = LpsGzipUtil.Compress2(dictJsonString); //保存 using (FileStream fs = new FileStream(path + fileName, FileMode.Create)) { fs.Write(data, 0, data.Length); } }
/// <summary> /// ロード処理 /// </summary> public override void Load() { try { if (File.Exists(path + fileName)) { using (FileStream fs = new FileStream(path + fileName, FileMode.Open)) { //ファイルを読み込むバイト型配列を作成する byte[] bs = new byte[fs.Length]; //ファイルの内容をすべて読み込む fs.Read(bs, 0, bs.Length); //デシリアライズ string jsonText = LpsGzipUtil.Decompress(bs); if (saveDictionary != null) { var sDict = JsonUtility.FromJson <Serialization <string, string> >(jsonText); if (sDict == null) { saveDictionary = new Dictionary <string, string>(); } else { sDict.OnAfterDeserialize(); saveDictionary = sDict.ToDictionary(); } } } } else { saveDictionary = new Dictionary <string, string>(); } } catch (Exception ex) { Debug.Log("SaveData:Load"); Debug.Log(ex); } }