コード例 #1
0
    private void Start()
    {
        autoRequest   = GetComponent <PlayFabAutoRequest>();
        setNameResult = SETNAME_RESULT.NONE;

        if (waitConnect == default)
        {
            GameObject playFabManager = GameObject.Find("PlayFabManager");
            waitConnect = playFabManager.GetComponent <PlayFabWaitConnect>();
        }
    }
コード例 #2
0
    /// <summary>
    /// PlayfabへUserName(DisplayName)を更新する。
    /// </summary>
    /// <param name="userName">変更したい名前</param>
    public void SetUserName(string userName)
    {
        // 取得した名前と同じだった場合は更新しない
        if (userName == DisplayName)
        {
            // 成功したことにする
            setNameResult = SETNAME_RESULT.SUCCESS;
            return;
        }
        // 通信待ちでなかったら通信開始
        if (!waitConnect.GetWait(gameObject.name))
        {
            // 通信待ちに設定する
            waitConnect.AddWait(gameObject.name);

            var request = new UpdateUserTitleDisplayNameRequest {
                DisplayName = userName
            };

            PlayFabClientAPI.UpdateUserTitleDisplayName(request, OnSuccess, OnError);

            // 成功した場合
            void OnSuccess(UpdateUserTitleDisplayNameResult result)
            {
                Debug.Log("SetDisplayName : success! " + result.DisplayName);
                DisplayName = result.DisplayName;
                // 通信終了
                waitConnect.RemoveWait(gameObject.name);

                setNameResult = SETNAME_RESULT.SUCCESS;
            }

            // 失敗した場合
            void OnError(PlayFabError error)
            {
                Debug.Log($"{error.Error}");
                // 通信終了
                waitConnect.RemoveWait(gameObject.name);

                setNameResult = SETNAME_RESULT.ERROR;
            }
        }
    }