public override void Setup(ViewportContent controller) { base.Setup(controller); gridpointer = FindObjectOfType <VR_GridPointer>(); containerWindow = GetComponentInParent <GridContainerWindow>(); }
/// <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); }
public override void Setup(ViewportContent controller) { this.controller = controller; NumberOfObjects = materials.Length; pointer = FindObjectOfType <UiPointer>(); if (NumberOfObjects > 0) { currentMaterial = materials[0].material; } }
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; }
/// <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); }
/// <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); } }
/// <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(); }
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; }
public override void Setup(ViewportContent controller) { throw new System.NotImplementedException(); }
/// <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(); }
//method for initial setup of script public abstract void Setup(ViewportContent controller);
public override void Setup(ViewportContent controller) { base.Setup(controller); pointerSnapper = FindObjectOfType <VR_pointerObjectSnapper>(); }