/// <summary> /// 指定したcolumに指定したmileageの情報を表示するメソッド /// </summary> /// <param name="row">走行記録の情報を表示する行</param> ///<param name="mileage">ランキングから取り出した走行記録</param> void WriteRankingRow(GameObject row, NejikoMileage mileage) { Text[] topics = row.GetComponentsInChildren <Text>(); //Name.Scoreの表示内容をrecordどおりに変更 topics[1].text = mileage.name; topics[2].text = mileage.score.ToString(); }
/// <summary> /// 走行記録の書き込みを行う際に呼び出すコルーチン /// </summary> /// <returns></returns> public static IEnumerator RegistMileage() { //ゲーム中のセーブデータをもとに送信用ファイルを生成 NejikoMileage sendRecord = MakeNejikoMileage(); //サーブレットへPostリクエストを行い、送信用ファイルの内容を送信 yield return(PostRequest(sendRecord)); //実行結果に応じてログを表示 if (isError) { Debug.Log("SetRecord:通信エラー"); } else { Debug.Log("SetRecord:正常終了"); } }
/// <summary> /// 実際にサーブレットへPOSTリクエストを行うコルーチン /// </summary> /// <param name="mileage"></param> /// <returns></returns> static IEnumerator PostRequest(NejikoMileage mileage) { //変数を初期化 InitVar(); //引数で渡されたクラスの情報を引き出し、送りたいPOSTリクエストのリクエストパラメータに入れる WWWForm form = new WWWForm(); form.AddField("name", mileage.name); form.AddField("score", mileage.score); UnityWebRequest request = UnityWebRequest.Post(ROOTPATH, form); yield return(request.SendWebRequest()); //接続の途中でエラーが起きた場合はログを返す if (request.isNetworkError || request.isHttpError) { isError = true; Debug.Log("WebConnectionPost:通信エラー / " + request.error); Debug.Log("WebConnectionPost:エラーコード / " + request.responseCode); } //正常に接続できた場合 else { //成功/失敗の文字列が返ってくるので受け取る responseText = request.downloadHandler.text; //書き込み成功なら if (responseText == "SUCCESS") { Debug.Log("WebConnectionPost:レコード書き込み完了"); isError = false; } //失敗なら else { Debug.Log("WebConnectionPost:レコード書き込みエラー"); isError = true; } } }