Beispiel #1
0
    private static void BadgeOverviewLoaded(UnityWebRequest req)
    {
        if (req.responseCode == 200)
        {
            JsonStringArray array = JsonUtility.FromJson <JsonStringArray>(req.downloadHandler.text);

            carouselMenuInstance = CarouselMenu.Show();

            List <CustomMenuItem> items = new List <CustomMenuItem>();

            for (int i = 0; i < array.array.Count; i++)
            {
                CustomMenuItem item = carouselMenuInstance.gameObject.AddComponent <CustomMenuItem>();
                item.Init(stextMenuItem, new List <CustomMenuItem>(), false);
                item.onClickEvent.AddListener(OnCarouselItemClicked);
                item.Text         = array.array[i];
                item.MenuItemName = array.array[i];
                items.Add(item);
            }

            carouselMenuInstance.rootMenu = items;

            ReplaceWithImages();
        }
    }
Beispiel #2
0
    public static CarouselMenu Show()
    {
        if (instance != null)
        {
            Destroy(instance.gameObject);
        }
        GameObject carouselInstance = (GameObject)Instantiate(Resources.Load("Carousel Menu"));

        instance = carouselInstance.GetComponent <CarouselMenu>();
        return(instance);
    }
Beispiel #3
0
    /// <summary>
    /// Displays a carousel menu and populates it with the available 3D models
    /// called when the web request finished in ShowCarouselMenu
    /// </summary>
    /// <param name="res">The result of the web request</param>
    private void AvailableModelsLoaded(UnityWebRequest res, object[] args)
    {
        WaitCursor.Hide();
        if (res.responseCode != 200)
        {
            MessageBox.Show(LocalizationManager.Instance.ResolveString("Server is not responding") + Environment.NewLine +
                            LocalizationManager.Instance.ResolveString("Could not list available 3D models"), MessageBoxType.ERROR);
            return;
        }

        if (carouselInstance == null)
        {
            carouselInstance = Instantiate(carouselMenu);
        }

        JsonStringArray array = JsonUtility.FromJson <JsonStringArray>(res.downloadHandler.text);

        if (array.array.Count == 0)
        {
            MessageBox.Show(LocalizationManager.Instance.ResolveString("There are no 3D models to show"), MessageBoxType.INFORMATION);
            return;
        }

        array.array.Sort();
        List <CustomMenuItem> items = new List <CustomMenuItem>();

        CarouselMenu carouselScript = carouselInstance.GetComponent <CarouselMenu>();

        foreach (string modelName in array.array)
        {
            CustomMenuItem item = carouselInstance.AddComponent <CustomMenuItem>();
            item.Init(carouselMenuStyle, new List <CustomMenuItem>(), false);
            item.onClickEvent.AddListener(delegate { OnCarouselItemClicked(modelName); });
            item.Text         = modelName;
            item.MenuItemName = modelName;
            items.Add(item);
        }

        if (carouselScript != null)
        {
            carouselScript.rootMenu = items;
        }

        Destroy(gameObject);
    }