private IEnumerator CardRequest(UnityWebRequest request, string httpVerb, Action <Card> responseHandler, Action <List <Card> > multipleResponseHandler)
        {
            yield return(MakeRequest(request, httpVerb, response =>
            {
                if (responseHandler != null)
                {
                    CardRepresentation card = JsonUtility.FromJson <CardRepresentation>(request.downloadHandler.text);
                    responseHandler(card.ToCard());
                }

                if (multipleResponseHandler != null)
                {
                    List <CardRepresentation> results = new List <CardRepresentation>(JsonHelper.getJsonArray <CardRepresentation>(request.downloadHandler.text));
                    multipleResponseHandler(results.ConvertAll(card => card.ToCard()));
                }
            }));
        }
示例#2
0
            public CardUpdated(string user, CardRepresentation card)
                : base(user)
            {
                try
                    {
                        Cost         = card.Cost;
                        Gems         = card.Gems;
                        Name         = card.Name;
                        State        = card.State;
                        Attack       = card.Attack;
                        Shards       = card.Colors;
                        Defense      = card.Defense;
                        Message      = GetMessageName();
                        Attributes   = card.Attributes;
                        Controller   = card.Controller.GetInstanceId();
                        Collection   = card.Collection;
                        BaseTemplate = card.TemplateId;

                        Abilities = new List<string>();

                        foreach (ResourceId id in card.Abilities)
                            if (TemplateManager.Instance.Abilities.ContainsKey(id))
                                Abilities.Add(TemplateManager.Instance.Abilities[id].m_GameText);
                    }
                    catch (Exception ex)
                    {
                        Log.Exception("Notifier", ex);
                    }
            }