Пример #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();
        }
    }
Пример #2
0
    private void AvailableModelsLoaded(UnityWebRequest res)
    {
        if (res.responseCode == 200)
        {
            JsonStringArray array = JsonUtility.FromJson <JsonStringArray>(res.downloadHandler.text);
            models = array.array;
            for (int i = 0; i < thumbnails.Count; i++)
            {
                int iModel = i + startIndex;
                if (iModel < array.array.Count)
                {
                    thumbnails[i].Visible = true;
                    thumbnails[i].LoadImage(array.array[iModel]);
                }
                else
                {
                    thumbnails[i].Visible = false;
                }
            }

            SetButtonStates();
        }

        MenuEnabled = true;
    }
Пример #3
0
    private void LoadKeyboardLayout()
    {
        keyboardLayout = new List <string>();
        TextAsset       jsonData = Resources.Load <TextAsset>("values/keyboardLayout-" + GetKeyboardLanguageCode(language));
        JsonStringArray array    = JsonUtility.FromJson <JsonStringArray>(jsonData.text);

        keyboardLayout = array.array;
    }
Пример #4
0
    private void AvailableQuizzesLoaded(UnityWebRequest res, object[] args)
    {
        if (res.responseCode != 200)
        {
            MessageBox.Show(LocalizationManager.Instance.ResolveString("Server is not responding")
                            + Environment.NewLine + LocalizationManager.Instance.ResolveString("Could not list available quizzes"), MessageBoxType.ERROR);
            return;
        }
        else
        {
            JsonStringArray array = JsonUtility.FromJson <JsonStringArray>(res.downloadHandler.text);
            if (array.array.Count == 0)
            {
                MessageBox.Show(LocalizationManager.Instance.ResolveString("There are no quizzes to show for this 3D model"), MessageBoxType.INFORMATION);
                return;
            }
            array.array.Sort();

            if (info.QuizSelectionMenu == null)
            {
                GameObject quizSelectionMenuInstance = Instantiate(WindowResources.Instance.QuizSelectionMenu);
                info.QuizSelectionMenu = quizSelectionMenuInstance.GetComponent <QuizSelectionMenu>();
            }

            if (info.QuizSelectionMenu != null)
            {
                info.QuizSelectionMenu.gameObject.SetActive(true); // show quiz selection menu
                info.QuizSelectionMenu.gameObject.GetComponent <CirclePositioner>().boundingBox = transform;
                info.QuizSelectionMenu.Items         = array.array;
                info.QuizSelectionMenu.OnCloseAction = OnQuizSelected;
            }
            else
            {
                Debug.LogError("Expected QuizSelectionMenu but did not find one");
            }


            //carouselInstance = CarouselMenu.Show();

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

            //carouselInstance.rootMenu = items;
        }
    }
Пример #5
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);
    }