예제 #1
0
        IEnumerator CatalogueRequest()
        {
            return(RestWebClient.Instance.HttpGet(IP + @"/fabricapp/api/catalogues", (response) =>
            {
                if (response.Error == "" || response.Error == null)
                {
                    var responseCatalog = new[]
                    {
                        new
                        {
                            id = 0,
                            c_name = "",
                            c_description = "",
                            c_thumbnail_url = "",
                            c_manufacturer_name = "",
                            c_normal_map = ""
                        }
                    }.ToList();

                    var list = JsonConvert.DeserializeAnonymousType(response.Data, responseCatalog);

                    foreach (var catalog in list)
                    {
                        S_Catalogue cat = new S_Catalogue
                        {
                            WEB_Id = catalog.id,
                            c_name = catalog.c_name,
                            c_description = catalog.c_description,
                            c_thumbnail_url = IP + catalog.c_thumbnail_url,
                            manufacturer_name = catalog.c_manufacturer_name,
                            c_fabrics = null
                        };
                        Catalogues.Add(cat);
                    }

                    LoadFabrics(0, OnSuccess: () =>
                    {
                        CurState = State.RequestCompleted;
                        for (int i = 0; i < OnSuccessWaiters.Count; ++i)
                        {
                            OnSuccessWaiters[i]();
                            OnSuccessWaiters[i] = null;
                        }
                        OnSuccessWaiters.Clear();
                    },
                                OnFailure: () =>
                    {
                    });
                }
            }, new[] { requestHeader }));
        }
예제 #2
0
        public bool Init(S_Catalogue catalogue, int index)
        {
            try
            {
                this.index = index;

                if (CB_name != null)
                {
                    this.CB_name.text = catalogue.c_name;
                }
                //if (CB_description != null) this.CB_description.text = catalogue.c_description;
                if (CB_manufacturer != null)
                {
                    this.CB_manufacturer.text = catalogue.manufacturer_name;
                }

                if (CB_thumbnail != null)
                {
                    catalogue.LoadThumbnail(
                        (sprite) =>
                    {
                        ToggleProgressElements(false);
                        CB_thumbnail.sprite = sprite;
                    },
                        (progress) =>
                    {
                        ToggleProgressElements(true);
                        progressBar.fillAmount = progress;
                        //Debug.Log((progress * 100).ToString("0.00"));
                    });
                }

                if (CB_button != null)
                {
                    CB_button.onClick.AddListener(() => OnClick(this.index));
                }
            }

            catch (Exception exception)
            {
                DebugHelper.Log(exception.Message);
                return(false);
            }

            return(true);
        }