Exemplo n.º 1
0
    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
        {
        }
    }
Exemplo n.º 2
0
    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);
        }
    }