/// <summary> /// フレンドを追加する。 /// </summary> /// <returns></returns> private async UniTaskVoid SubmitAsync() { var playFabId = _idInputField.text; var(_, message) = await FriendManager.AddFriendAsync(playFabId); // 結果を表示しつつフレンド情報を更新する。 await UniTask.WhenAll( MessageDialog.ShowAsync(message), FriendManager.SyncPlayFabToClientAsync()); taskCompletion.TrySetResult(DialogResult.OK); }
/// <summary> /// ログイン時に取得したデータをキャッシュする。 /// </summary> /// <param name="loginResult"></param> /// <returns></returns> public static async UniTask UpdateLocalCacheAsync(LoginResult loginResult) { // カタログは他のインスタンスの初期化にも必要なので最初に行うこと await UniTask.WhenAll( CatalogManager.SyncPlayFabToClientAsync(), StoreManager.SyncPlayFabToClientAsync(), FriendManager.SyncPlayFabToClientAsync(), NewsManager.SyncPlayFabToClientAsync(), RankingManager.SyncPlayFabToClientAsync()); TitleDataManager.SyncPlayFabToClient(loginResult.InfoResultPayload.TitleData); PlayerProfileManager.SyncPlayFabToClient(loginResult.InfoResultPayload.PlayerProfile, loginResult.InfoResultPayload.PlayerStatistics); InventoryManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserInventory); VirtualCurrencyManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserVirtualCurrency); UserDataManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserData); // ログインボーナス獲得処理 await CheckAndAddLoginBonusAsync(loginResult); }
/// <summary> /// フレンドを削除する。 /// </summary> /// <returns></returns> private async UniTaskVoid RemoveFriendAsync() { var confirm = await ConfirmDialog.ShowAsync($"{FriendUser.Name} をフレンドから削除しますか?"); if (confirm == DialogResult.Cancel) { return; } var(isSuccess, message) = await FriendManager.RemoveFriendAsync(FriendUser.PlayFabId); var displayMessage = isSuccess ? $"{FriendUser.Name} をフレンドから削除しました。" : message; await UniTask.WhenAll( MessageDialog.ShowAsync(displayMessage), FriendManager.SyncPlayFabToClientAsync()); SceneManager.LoadScene("FriendScene"); }