/// <summary> /// 押された情報の送信 /// </summary> public void SendPushData() { // ボタンを押されたのでどのIDが押されたかを親へ教える parent.UpdateDescript(this.name, ReachAchievement); // ボタンが押されたので通知を削除する UserDataRecord record; PlayFabPlayerData playerData = parent.GetPlayerData(); if (playerData.isGet && playerData.data.TryGetValue("NOTICE_" + gameObject.name, out record)) { if (record.Value == "TRUE") { playerData.SetPlayerData("NOTICE_" + gameObject.name, "FALSE"); noticeIcon.enabled = false; } } }
/// <summary> /// リーダーボードの取得に成功 /// </summary> /// <param name="result">取得結果</param> private void OnGetLeaderboardSuccess(GetLeaderboardResult result) { Debug.Log($"ランキング(リーダーボード)の取得に成功しました"); // 通信終了 waitConnect.RemoveWait(gameObject.name); // リストを空にしてから受け取る entries.Clear(); // 子の全削除 foreach (Transform n in transform) { GameObject.Destroy(n.gameObject); } //result.Leaderboardに各順位の情報(PlayerLeaderboardEntry)が入っている foreach (var entry in result.Leaderboard) { entries.Add(entry); // PlayFabPlayerDataを人数分取得する string objectName = "PlayFabPlayerData" + "Rank" + entry.Position; Transform trs = transform.parent.Find(objectName); // 該当のゲームオブジェクトが作成されていなかったら作成する GameObject obj; if (trs == null) { obj = new GameObject(objectName); obj.transform.parent = this.transform; obj.AddComponent <PlayFabAutoRequest>(); var playerData = obj.AddComponent <PlayFabPlayerData>(); // ID指定をしてランキング内のプレイヤーデータの読み込みをする playerData.nominationID = entry.PlayFabId; } else { // 作成済みの場合はプレイヤーデータの更新をかける PlayFabPlayerData playerData = trs.gameObject.GetComponent <PlayFabPlayerData>(); playerData.nominationID = entry.PlayFabId; // プレイヤーデータの取得要求をする playerData.RequestGetData(); } } isGet = true; }
/// <summary> /// 通知アイコンの有効化 /// </summary> void EnableNoticeIcon() { UserDataRecord record; PlayFabPlayerData playerData = parent.GetPlayerData(); if (playerData.isGet && playerData.data.TryGetValue("NOTICE_" + gameObject.name, out record)) { if (noticeIcon.enabled != true && record.Value == "TRUE") { noticeIcon.enabled = true; } else if (record.Value == "FALSE") { noticeIcon.enabled = false; } } else { noticeIcon.enabled = false; } }