Exemplo n.º 1
0
    public override void Setup(ViewportContent controller)
    {
        base.Setup(controller);

        gridpointer     = FindObjectOfType <VR_GridPointer>();
        containerWindow = GetComponentInParent <GridContainerWindow>();
    }
Exemplo n.º 2
0
    /// <summary>
    /// Sets the currently active window to the given index
    /// </summary>
    /// <param name="index">The window to be set active</param>
    public void SwitchTabs(int index)
    {
        GameObject currentWindow = windows.FirstOrDefault(panel => panel.activeInHierarchy == true);

        if (currentWindow != null)
        {
            ViewportContent closingWindowController = currentWindow.GetComponent <ViewportContent>();

            if (closingWindowController != null)
            {
                closingWindowController.CloseWindow();
            }

            currentWindow.SetActive(false);
        }

        Button next = NextButton.GetComponent <Button>();
        Button back = BackButton.GetComponent <Button>();

        next.onClick.RemoveAllListeners();
        back.onClick.RemoveAllListeners();

        ViewportContent windowController = windows[index].GetComponent <ViewportContent>();

        if (windowController != null)
        {
            if (windowController.PageCount > 1 && windowController.UsePageCount)
            {
                NextButton.SetActive(true);
                BackButton.SetActive(true);
                next.onClick.AddListener(windowController.ScrollNext);
                back.onClick.AddListener(windowController.ScrollBack);
            }
            else
            {
                NextButton.SetActive(false);
                BackButton.SetActive(false);
            }

            windowController.OpenWindow();
        }
        else
        {
            NextButton.SetActive(false);
            BackButton.SetActive(false);
        }

        if (tabButtons.Length > 0)
        {
            Array.ForEach(tabButtons, obj => obj.SetHighLight(false));
            tabButtons[index].SetHighLight(true);
        }

        OntabSwitch?.Invoke(index);
        windows[index].SetActive(true);
    }
Exemplo n.º 3
0
    public override void Setup(ViewportContent controller)
    {
        this.controller = controller;
        NumberOfObjects = materials.Length;
        pointer         = FindObjectOfType <UiPointer>();

        if (NumberOfObjects > 0)
        {
            currentMaterial = materials[0].material;
        }
    }
Exemplo n.º 4
0
    public override void Setup(ViewportContent controller)
    {
        this.controller = controller;

        spawnableprefabs = new GameObject[spawnableObjects.Length];

        for (int i = 0; i < spawnableObjects.Length; i++)
        {
            spawnableprefabs[i] = spawnableObjects[i].spawnObject;
        }

        NumberOfObjects = spawnableObjects.Length;
    }
Exemplo n.º 5
0
    /// <summary>
    /// Switches to a given page and enables/disables the next/back button if the pageNumber is the first or last page
    /// In addition, the fuction will also disable all pages and close the previously opened window
    /// </summary>
    /// <param name="pageNumber">the index of the page to switch to</param>
    protected override void SwitchToPage(int pageNumber)
    {
        Array.ForEach(pages, page => page.SetActive(false));
        pages[currentPage].GetComponent <ViewportContent>().CloseWindow();

        pages[pageNumber].SetActive(true);
        currentPage = pageNumber;

        ViewportContent controller = pages[currentPage].GetComponent <ViewportContent>();

        GameObject nextButton = this.controller.NextButton;
        GameObject backButton = this.controller.BackButton;

        Button next = nextButton.GetComponent <Button>();
        Button back = backButton.GetComponent <Button>();

        next.onClick.RemoveAllListeners();
        back.onClick.RemoveAllListeners();

        if (controller != null)
        {
            if (controller.PageCount > 1 && controller.UsePageCount)
            {
                nextButton.SetActive(true);
                backButton.SetActive(true);
                next.onClick.AddListener(controller.ScrollNext);
                back.onClick.AddListener(controller.ScrollBack);
            }
            else
            {
                nextButton.SetActive(false);
                backButton.SetActive(false);
            }

            controller.OpenWindow();
        }
        else
        {
            nextButton.SetActive(false);
            backButton.SetActive(false);
        }

        if (tabButtons.Length > 0)
        {
            Array.ForEach(tabButtons, obj => obj.SetHighLight(false));
            tabButtons[pageNumber].SetHighLight(true);
        }

        Open?.Invoke(pageNumber);
    }
Exemplo n.º 6
0
    /// <summary>
    /// Generates the windows by calling the SetupContent() method for each, if a controller is found
    /// </summary>
    private void GenerateWindows()
    {
        foreach (GameObject window in windows)
        {
            ResizeWindow(window.GetComponent <RectTransform>());
            ViewportContent windowController = window.GetComponent <ViewportContent>();

            if (windowController != null)
            {
                windowController.SetupContent(this, mainViewport);
                windowController.CloseWindow();
            }

            window.SetActive(false);
        }
    }
Exemplo n.º 7
0
    /// <summary>
    /// Generates the tab buttons for each of the windows
    /// </summary>
    private void GenerateTabs()
    {
        Vector2 parentDiameters = tabViewport.GetComponent <RectTransform>().sizeDelta;
        float   gutter          = parentDiameters.x / windows.Length;
        float   center          = parentDiameters.y / 2;

        List <ButtonUIController> tabButtonList = new List <ButtonUIController>();

        for (int i = 0; i < windows.Length; i++)
        {
            GameObject tab     = Instantiate(tabButton, tabViewport.transform);
            float      spacing = (gutter * i);
            float      offset  = (parentDiameters.x / 2);
            tab.transform.localPosition = new Vector3(spacing - offset + (gutter / 2), 0, 0);

            tab.name = "Tab: " + i;

            ViewportContent    windowController = windows[i].GetComponent <ViewportContent>();
            ButtonUIController buttonController = tab.GetComponent <ButtonUIController>();

            if (windowController != null && buttonController != null)
            {
                tabButtonList.Add(buttonController);
                tab.transform.localScale = tab.transform.localScale * windowController.tabButtonScale;
                buttonController.SetImage(windowController.tabButtonImage);
                buttonController.SetName(windowController.tabName);
            }
            else
            {
                tab.GetComponentInChildren <Text>().text = windows[i].name;
            }

            int    index  = i;
            Button button = tab.GetComponent <Button>();
            button.onClick.AddListener(delegate { SwitchTabs(index); });
        }
        tabButtons = tabButtonList.ToArray();
    }
Exemplo n.º 8
0
    public override void Setup(ViewportContent controller)
    {
        this.controller = controller;

        // getting save files
        path = Directory.GetFiles(Application.dataPath + "/Saves", "*.Kaiser");

        filenames = new string[path.Length];
        for (int i = 0; i < path.Length; i++)
        {
            filenames[i] = Path.GetFileNameWithoutExtension(path[i]);
        }

        // getting thumbnails
        Texture2D[] textures = Resources.LoadAll("Thumbnail", typeof(Texture2D)).Cast <Texture2D>().ToArray();
        thumbnailSprits = new Sprite[textures.Length];

        for (int i = 0; i < textures.Length; i++)
        {
            thumbnailSprits[i] = Sprite.Create(textures[i], new Rect(0, 0, 400, 400), Vector2.zero, 50, 0, SpriteMeshType.FullRect, border);
        }

        NumberOfObjects = filenames.Length;
    }
Exemplo n.º 9
0
 public override void Setup(ViewportContent controller)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 10
0
    /// <summary>
    /// Generates the required subtabs for each of the GridSpawnWindow's
    /// </summary>
    /// <param name="container">STUMP</param>
    /// <param name="alignment">The alignment in which the tab buttons will be placed</param>
    private void generateSubTabs(RectTransform container, SubTabAlignment alignment)
    {
        Vector2 viewPortDiameters = container.sizeDelta;

        float gutter = 0;
        float center = 0;

        //float offset = 0;

        if (alignment == SubTabAlignment.Vertical)
        {
            gutter = viewPortDiameters.y / pages.Length;
            center = viewPortDiameters.y / 2;
            //offset = (viewPortDiameters.y / 2);
        }
        else if (alignment == SubTabAlignment.Horizontal)
        {
            gutter = viewPortDiameters.x / pages.Length;
            center = viewPortDiameters.x / 2;
            //offset = (viewPortDiameters.x / 2);
        }

        List <ButtonUIController> tabButtonList = new List <ButtonUIController>();

        for (int i = 0; i < pages.Length; i++)
        {
            GameObject subTab  = Instantiate(subTabButton, subTabContainer.transform);
            float      spacing = (gutter * i);

            if (alignment == SubTabAlignment.Vertical)
            {
                //STUMP
                throw new NotImplementedException();
                //subTab.transform.localPosition = new Vector3(0, spacing - center + (gutter / 2), 0);
            }
            else if (alignment == SubTabAlignment.Horizontal)
            {
                subTab.transform.localPosition = new Vector3(spacing - center + (gutter / 2), 0, 0);
            }

            subTab.name = "Subtab: " + i;

            ButtonUIController buttonController    = subTab.GetComponent <ButtonUIController>();
            ViewportContent    subWindowController = pages[i].GetComponent <ViewportContent>();


            if (subWindowController != null && buttonController != null)
            {
                tabButtonList.Add(buttonController);

                subTab.transform.localScale = subTab.transform.localScale * subWindowController.tabButtonScale;
                buttonController.SetImage(subWindowController.tabButtonImage);
                buttonController.SetName(subWindowController.tabName);
            }
            else
            {
                subTab.GetComponentInChildren <Text>().text = pages[i].name;
            }

            int    index  = i;
            Button button = subTab.GetComponent <Button>();
            button.onClick.AddListener(delegate { SwitchToPage(index); });
        }
        tabButtons = tabButtonList.ToArray();
    }
Exemplo n.º 11
0
 //method for initial setup of script
 public abstract void Setup(ViewportContent controller);
Exemplo n.º 12
0
    public override void Setup(ViewportContent controller)
    {
        base.Setup(controller);

        pointerSnapper = FindObjectOfType <VR_pointerObjectSnapper>();
    }