private void RefreshChallengeList() { if (_pendingChallenges == null) { _pendingChallenges = new List <HistoCase>(); } foreach (HistoCase hc in _pendingChallenges) { Destroy(hc.gameObject); } _pendingChallenges.Clear(); string pendingResponse = WebUtility.Instance.Get(GET_CHALLENGES_URL, ("userLocalId", Program.LoginData.localId)); IEnumerable <PendingChallengesData> pendingRequests = new List <PendingChallengesData>(); try { StringReader reader = new StringReader(pendingResponse); JsonSerializer ser = JsonSerializer.Create(new JsonSerializerSettings()); pendingRequests = (IEnumerable <PendingChallengesData>)ser.Deserialize(reader, typeof(IEnumerable <PendingChallengesData>)); foreach (PendingChallengesData pr in pendingRequests) { HistoCase fb = Instantiate(HistoCasePrefab, ChallengesList.transform); fb.Init(pr.channelName, "", "", "", pr.fromName, true, true); fb.OnClicked += () => AcceptChallenge(pr.fromId, pr.quiz_uuid); (fb.transform as RectTransform).sizeDelta = new Vector2(848f, (fb.transform as RectTransform).sizeDelta.y); _pendingChallenges.Add(fb); } } catch { } }
public override void Open(string value) { gameObject.SetActive(true); string response = WebUtility.Instance.Get(GET_QUIZ_HISTO_URL, ("userLocalId", Program.LoginData.localId)); StringReader reader = new StringReader(response); JsonSerializer ser = JsonSerializer.Create(new JsonSerializerSettings()); IEnumerable <HistoResponse> histos = (IEnumerable <HistoResponse>)ser.Deserialize(reader, typeof(IEnumerable <HistoResponse>)); if (_cases != null) { foreach (var c in _cases) { Destroy(c.gameObject); } } _cases = new List <HistoCase>(); foreach (HistoResponse hr in histos) { HistoCase hc = Instantiate(HistoCasePrefab, SpawnRoot); if (hr.defis) { bool receiving = hr.from != Program.LoginData.localId; string otherName = receiving ? hr.fromName : hr.toName; bool won = receiving ? hr.userScore2 >= hr.userScore : hr.userScore >= hr.userScore2; hc.Init(hr.channelName, hr.userScore.ToString(), hr.nbQuestion.ToString(), hr.date, otherName, !hr.done, receiving, won); } else { hc.Init(hr.channelName, hr.userScore.ToString(), hr.nbQuestion.ToString(), hr.date); } _cases.Add(hc); } }