IEnumerator SendScore() //점수 정보 전송 - SimonOrder code 주석 참고
    {
        ScoreStatisticsDbData data = new ScoreStatisticsDbData();

        data.UserID = SceneChangeManager.Patient.UserID;
        data.Date   = System.DateTime.Now.ToString("yy/MM/dd");
        data.Game   = "도형기억력";
        data.Type   = "점수";
        data.Score  = (GameManager.Game.stage - 1) * 10;
        data.Level  = SceneChangeManager.SCENE.Level;
        ETC etc = new ETC();

        if (SceneChangeManager.SCENE.Level == 0)
        {
            etc.GameType = "색+모양-" + SceneChangeManager.SCENE.NBack;
        }
        else
        {
            etc.GameType = "모양조합-" + SceneChangeManager.SCENE.NBack;
        }
        etc.PlayTime = _timerText.text;

        string jsonETC = JsonConvert.SerializeObject(etc);

        data.etc = jsonETC;
        string json_key = JsonConvert.SerializeObject(data);

        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json_key);
        using (UnityWebRequest www = new UnityWebRequest(SaveScoreURL, UnityWebRequest.kHttpVerbPOST))
        {
            UploadHandlerRaw      uH = new UploadHandlerRaw(bytes);
            DownloadHandlerBuffer dH = new DownloadHandlerBuffer();

            www.uploadHandler   = uH;
            www.downloadHandler = dH;
            www.SetRequestHeader("Content-Type", "application/json");
            yield return(www.SendWebRequest());

            if (www.isHttpError || www.isNetworkError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("결과 데이터 전송 완료");
            }
        }
    }
Beispiel #2
0
    IEnumerator SendScore() //점수 정보 전송
    {
        //data 값
        ScoreStatisticsDbData data = new ScoreStatisticsDbData();

        data.UserID = SceneChangeManager.Patient.UserID;
        data.Date   = DateTime.Now.ToString("yy/MM/dd");
        data.Game   = "SimonColor";
        data.Type   = "Score";
        data.Score  = int.Parse(ResultScore.text);
        data.Level  = GameManager.Game.stage - 1;

        ETC etc = new ETC
        {
            RestTime = ResultTime.text,
            Wrong    = 2 - GameManager.Game.life
        };

        //Object를 Json String으로 변환
        string jsonETC = JsonConvert.SerializeObject(etc);

        data.etc = jsonETC;
        string json_key = JsonConvert.SerializeObject(data);

        //string을 byte[] 배열로 변환
        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json_key);

        using (UnityWebRequest www = new UnityWebRequest(SaveScoreURL, UnityWebRequest.kHttpVerbPOST)) //HTTP POST 요청
        {
            UploadHandlerRaw      uH = new UploadHandlerRaw(bytes);                                    //HTTP 요청 중 본문 데이터의 버퍼링 및 전송 관리
            DownloadHandlerBuffer dH = new DownloadHandlerBuffer();                                    //원격 서버로부터 수신 된 바디 데이터를 관리

            www.uploadHandler   = uH;
            www.downloadHandler = dH;
            www.SetRequestHeader("Content-Type", "application/json"); //HTTP 요청 헤더 값 설정
            yield return(www.SendWebRequest());

            if (www.isHttpError || www.isNetworkError) //에러 발생 시
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("결과 데이터 전송 완료");
            }
        }
    }