예제 #1
0
    /// <summary>
    /// プレイデータの送信リクエスト
    /// </summary>
    /// <returns>The play data request.</returns>
    /// <param name="playdata">Playdata.</param>
    /// <param name="userdata">Userdata.</param>
    public static IEnumerator SendPlayDataRequest(PlayData playdata, UserAccountData.UserData userdata)
    {
        // リクエストURLを生成
        string          url_base  = Const.WebRequest.BASE_URL + "SendPlayData/";
        string          url_param = "?id=" + userdata.id + "&score=" + playdata.Score + "&stage=" + playdata.ClearStage;
        UnityWebRequest request   = UnityWebRequest.Get(url_base + url_param);

        if (WebRequestHeader.HeaderEmpty())
        {
            request.SetRequestHeader(Const.WebRequest.HEADER_NAME_COOKIE, WebRequestHeader.header);
        }

        // リクエスト送信
        yield return(request.Send());

        // 通信エラーチェック
        if (request.isError)
        {
            Debug.Log(request.error);
            GenericUIManager.Instance.ShowMessageDialog("Error", request.error);
        }
        else
        {
            if (request.responseCode == 200)
            {
                WebRequestHeader.CookieHeaderSetting(request);
            }
        }
    }
    /*------------------------------------------------------------------------------------------------------------*/
    /// <summary>
    /// 引き継ぎ チェック処理
    /// </summary>
    /// <returns>The inheriting.</returns>
    public static IEnumerator CheckInheriting()
    {
        // 仮待ち 1.5s
        yield return(new WaitForSeconds(1.5f));

        // リクエスト作成
        string          url_base  = Const.WebRequest.BASE_URL + "CheckInheriting/";
        int             NUM       = cGameManager.Instance.UserData.Data.num;
        string          url_param = "?num=" + NUM.ToString();
        UnityWebRequest request   = UnityWebRequest.Get(url_base);       //+url_param);

        // ヘッダー情報 クッキーがあれば設定する。
        if (WebRequestHeader.HeaderEmpty())
        {
            request.SetRequestHeader(Const.WebRequest.HEADER_NAME_COOKIE, WebRequestHeader.header);
        }

        yield return(request.Send());

        if (request.isError)
        {
            Debug.Log("Error");
            // メッセージダイアログ表示
            GenericUIManager.Instance.ShowMessageDialog("Inherit", "Error");
        }
        else
        {
            if (request.responseCode == 200)
            {
                // cookieがあればヘッダーに設定
                WebRequestHeader.CookieHeaderSetting(request);
                // レスポンスからJson形式のテキストデータを取得する。
                string text = request.downloadHandler.text;
                InheritResponseData result = JsonUtility.FromJson <InheritResponseData> (text);
                cGameManager.Instance.UserData.InheritResData = result;

                Debug.Log(result.message);
                string title = "Inherit";

                if (result.id != "")
                {
                    // 引き継ぎ実行
                    cGameManager.Instance.UserData.InheritUserData();
                    // メッセージダイアログ表示
                    GenericUIManager.Instance.ShowMessageDialog(title, result.message, UserAccountManager.InheritOKFunc);
                }
                else
                {
                    // 引き継ぎキャンセル メッセージダイアログ表示
                    GenericUIManager.Instance.ShowMessageDialog(title, result.message);
                }
            }
        }
    }
    /*------------------------------------------------------------------------------------------------------------*/
    /// <summary>
    /// 自動ログインリクエスト
    /// </summary>
    /// <returns>The login request.</returns>
    /// <param name="ID">ID</param>
    /// <param name="PASS">PASS</param>
    public static IEnumerator AutoLoginRequest(string ID, string PASS)
    {
        // リクエストURLを生成
        string          url_base  = Const.WebRequest.BASE_URL + "Login/";
        string          url_param = "?id=" + ID + "&pass="******"Error")
                {
                    yield break;
                }

                // ローカルに保存する。
                UserAccountData.UserData userdata = new UserAccountData.UserData(ID, PASS, response.name, response.num);
                cGameManager.Instance.UserData.SaveUserData(userdata);
                // ログイン状態にする
                cGameManager.Instance.UserData.IsLogin = true;
            }
        }
    }
    /*------------------------------------------------------------------------------------------------------------*/
    /// <summary>
    /// 自動サインアップリクエスト
    /// </summary>
    /// <param name="_ID">ユーザーID</param>
    /// <param name="_PASS">ユーザーパスワード</param>
    /// <param name="_NAME">ユーザーネーム</param>
    public static IEnumerator AutoSignUpRequest(string _ID, string _PASS, string _NAME)
    {
        // リクエストURLを生成
        string          url_base  = Const.WebRequest.BASE_URL + "SignUp/";
        string          url_param = "?id=" + _ID + "&pass="******"&name=" + _NAME;
        UnityWebRequest request   = UnityWebRequest.Get(url_base + url_param);

        // リクエスト送信
        yield return(request.Send());

        // 通信エラーチェック
        if (request.isError)
        {
            Debug.Log(request.error);
            cGameManager.Instance.UserData.IsLogin = false;
        }
        else
        {
            if (request.responseCode == 200)
            {
                // ヘッダー情報 クッキー取得
                WebRequestHeader.CookieHeaderSetting(request);

                // レスポンスからJson形式のテキストデータを取得する。
                string text = request.downloadHandler.text;
                UserAccountResponseData response = JsonUtility.FromJson <UserAccountResponseData>(text);
                cGameManager.Instance.UserData.UserResData = response;
                if (response.message == "Error")
                {
                    yield return(UserAccountManager.AutoSignUp(_NAME));

                    yield break;
                }

                // ローカルへ保存
                UserAccountData.UserData userdata = new UserAccountData.UserData(_ID, _PASS, _NAME, response.num);
                cGameManager.Instance.UserData.SaveUserData(userdata);

                // ログイン状態にする。
                cGameManager.Instance.UserData.IsLogin = true;
            }
        }
    }
    /*------------------------------------------------------------------------------------------------------------*/
    /// <summary>
    /// 引き継ぎ設定 確認処理
    /// </summary>
    /// <returns>The inherit setting.</returns>
    /// <param name="_ID">I.</param>
    /// <param name="_PASS">PAS.</param>
    public static IEnumerator CheckInheritSetting(string _ID, string _PASS)
    {
        // 仮待ち 1.5s
        yield return(new WaitForSeconds(1.5f));

        // リクエスト作成
        string          url_base  = Const.WebRequest.BASE_URL + "CheckInheritSetting/";
        string          url_param = "?id=" + _ID + "&pass="******"Error");
            // メッセージダイアログ表示
            GenericUIManager.Instance.ShowMessageDialog("InheritSetting", "Error");
        }
        else
        {
            if (request.responseCode == 200)
            {
                // cookieがあればヘッダーに設定
                WebRequestHeader.CookieHeaderSetting(request);
                // レスポンスからJson形式のテキストデータを取得する。
                string text = request.downloadHandler.text;
                MessageResponseData response = JsonUtility.FromJson <MessageResponseData>(text);
                cGameManager.Instance.UserData.MessageResData = response;

                // メッセージダイアログ表示
                GenericUIManager.Instance.ShowMessageDialog("InheritSetting", response.message);
            }
        }
    }
    /*------------------------------------------------------------------------------------------------------------*/
    /// <summary>
    /// 削除リクエスト
    /// </summary>
    /// <returns>The user account.</returns>
    /// <param name="_ID">I.</param>
    /// <param name="_PASS">PAS.</param>
    public static IEnumerator DeleteUserAccount(string _ID, string _PASS)
    {
        // リクエスト作成
        string          url_base  = Const.WebRequest.BASE_URL + "Delete/";
        string          url_param = "?id=" + _ID + "&pass="******"Error");
        }
        else
        {
            if (request.responseCode == 200)
            {
                WebRequestHeader.CookieHeaderSetting(request);
                // レスポンスからJson形式のテキストデータを取得する。
                string text = request.downloadHandler.text;
                MessageResponseData response = JsonUtility.FromJson <MessageResponseData> (text);
                Debug.Log(response.message);

                if (response.message != "")
                {
                    // ローカルから削除
                    cGameManager.Instance.UserData.DeleteData();
                    // メッセージダイアログ表示
                    GenericUIManager.Instance.ShowMessageDialog("DELETE", response.message);
                }
            }
        }
    }
예제 #7
0
    /// <summary>
    /// スコアランキングの取得リクエスト
    /// </summary>
    /// <returns>The ranking request.</returns>
    public static IEnumerator ScoreRankingRequest(UserAccountData.UserData userdata)
    {
        // リクエストURLを生成
        string          url_base  = Const.WebRequest.BASE_URL + "ScoreRanking/";
        string          url_param = "?id=" + userdata.id;
        UnityWebRequest request   = UnityWebRequest.Get(url_base);       //+url_param);

        if (WebRequestHeader.HeaderEmpty())
        {
            request.SetRequestHeader(Const.WebRequest.HEADER_NAME_COOKIE, WebRequestHeader.header);
        }

        // リクエスト送信
        yield return(request.Send());

        // 通信エラーチェック
        if (request.isError)
        {
            Debug.Log(request.error);
            GenericUIManager.Instance.ShowMessageDialog("Error", request.error);
        }
        else
        {
            if (request.responseCode == 200)
            {
                WebRequestHeader.CookieHeaderSetting(request);

                string text = request.downloadHandler.text;
                // レスポンスデータの変換
                ScoreRankingResponseData res = JsonUtility.FromJson <ScoreRankingResponseData> (text);

                if (res.Data.Count != 0)
                {
                    cGameManager.Instance._RankingData = res;
                }
            }
        }
    }