Beispiel #1
0
        public IEnumerator list(System.Action <ARgorithmCollection> callback)
        {
            /*
             * Returns list of ARgorithms
             *
             * returns empty list if server error or no argorithms on server
             */
            using (UnityWebRequest webRequest = UnityWebRequest.Get(serverEndpoint + "/argorithms/list")){
                yield return(webRequest.SendWebRequest());

                if (webRequest.isNetworkError)
                {
                    callback(new ARgorithmCollection {
                        items = {},
                    });
                }

                if (webRequest.isDone)
                {
                    string value = "{\"items\":" + webRequest.downloadHandler.text + "}";
                    ARgorithmCollection response = JsonConvert.DeserializeObject <ARgorithmCollection>(value);
                    callback(response);
                }
            }
        }
    void callback(ARgorithmCollection lar)
    {
        this.panelListHeight = 0;
        //Instantiates the UI object(a prefab) dynamically to list the various algos
        foreach (ARgorithmModel item in lar.items)
        {
            var Item = Instantiate(ArgorithmUiObject);
            Item.transform.SetParent(PanelListHolderGameObject);
            Item.transform.localScale = new Vector3(1, 1, 1);


            var child = Item.transform.GetChild(0).gameObject;
            child.GetComponent <TextMeshProUGUI>().SetText(item.argorithmID.ToUpper());

            child = Item.transform.GetChild(1).gameObject;
            child.GetComponent <TextMeshProUGUI>().SetText(item.description.ToUpper());

            Button ExecuteButton = Item.transform.GetChild(4).GetComponent <Button>();
            ExecuteButton.onClick.AddListener(() =>
            {
                PlayerPrefs.SetString("argorithmID", item.argorithmID);
                JObject jb = item.parameters;
                ParameterMenu.GetComponent <ParametersMenu>().parametersInfo = jb;
                ARgorithmCloudMenu.SetActive(false);
                ParameterMenu.SetActive(true);
            });

            RectTransform rt = Item.transform.GetComponent <RectTransform>();
            this.panelListHeight += rt.rect.height + 50;
        }

        /*
         *
         * for(int i=0;i<40;i++)
         * {
         *  var Item = Instantiate(ArgorithmUiObject);
         *  Item.transform.SetParent(PanelListHolderGameObject);
         *  Item.transform.localScale = new Vector3(1, 1, 1);
         *  RectTransform rt = Item.transform.GetComponent<RectTransform>();
         *  this.panelListHeight += rt.rect.height + 50;
         * }
         */
    }