//----------------------------// private void ValidateWindow(GameObject goCanvas) { if (goWindow == null) { goWindow = Helper.FindOrCreateUI("Window", goCanvas, (string name, GameObject parent) => { GameObject window = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(window, 0, 0, 1, 1, 0.5f, 1, 0, 0, 0, 0); Image img = window.AddOrGetComponent <Image>(); img.type = Image.Type.Sliced; img.sprite = Resources.Instance.GetSpriteBackground(); VerticalLayoutGroup vertical = window.AddComponent <VerticalLayoutGroup>(); vertical.childForceExpandHeight = false; vertical.padding = new RectOffset(4, 4, 4, 4); vertical.spacing = 2; return(window); }); } goWinBar = Helper.FindOrCreateUI("WindowBar", goWindow, (string name, GameObject parent) => { GameObject winbar = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(winbar, 0, 1, 1, 1, 0.5f, 1, 0, 0, 0, 0); winbar.AddOrGetComponent <CanvasRenderer>(); Image img = winbar.AddOrGetComponent <Image>(); img.color = new Color(0.25f, 0.5f, 1.0f); DraggableRect draggable = winbar.AddComponent <DraggableRect>(); draggable.target = goWindow.GetComponent <RectTransform>(); LayoutElement layout = winbar.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; HorizontalLayoutGroup hor = winbar.AddComponent <HorizontalLayoutGroup>(); hor.childForceExpandHeight = false; hor.childForceExpandWidth = false; hor.childAlignment = TextAnchor.MiddleCenter; return(winbar); }); goTitle = Helper.FindOrCreateUI("WindowTitle", goWinBar, (string name, GameObject parent) => { GameObject title = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(title, 0, 0, 1, 1, 0.5f, 0.5f, 0, 0, 0, 0); LayoutElement layout = title.AddComponent <LayoutElement>(); layout.flexibleWidth = 1; Text text = title.AddOrGetComponent <Text>(); text.text = "Overlay UI"; text.alignment = TextAnchor.MiddleCenter; text.color = Color.white; text.font = Resources.Instance.GetFontTilte(); text.fontSize = Helper.FontSize(); return(title); }); goClose = Helper.FindOrCreateUI("CloseButton", (string name, GameObject parent) => { GameObject close = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(close, 1, 0, 1, 1, 1, 0.5f, 32.0f - 4.0f, -4.0f, -2.0f, 0); Image img = close.AddOrGetComponent <Image>(); img.sprite = Resources.Instance.GetSpriteButton(); img.type = Image.Type.Sliced; LayoutElement layout = close.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; layout.preferredWidth = 32.0f; return(close); }, goWinBar); GameObject goCloseCross = Helper.FindOrCreateUI("CloseCross", goClose, (string name, GameObject parent) => { GameObject cimg = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(cimg, 0, 0, 1, 1, 0.5f, 0.5f, 0, 0, 0, 0); Image img = cimg.AddOrGetComponent <Image>(); img.sprite = Silver.UI.Resources.GetStaticSpriteCross(); img.type = Image.Type.Simple; return(cimg); }); Button but = goClose.AddOrGetComponent <Button>(); but.onClick.RemoveAllListeners(); but.onClick.AddListener(() => { Visible = false; }); goContent = Helper.FindOrCreateUI("Content", goWindow, (string name, GameObject parent) => { GameObject content = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(content, 0, 0, 1, 1, 0.5f, 0, -4.0f, 0.0f, 0, 2.0f); content.AddOrGetComponent <Image>(); Mask mask = content.AddOrGetComponent <Mask>(); mask.showMaskGraphic = false; LayoutElement layout = content.AddComponent <LayoutElement>(); layout.flexibleHeight = 1.0f; return(content); }); RefreshWindowsBarVisibility(); }
private void ValidateWindow(GameObject goCanvas) { if (goWindow == null) { goWindow = Helper.FindOrCreateUI("Window", goCanvas, (string name, GameObject parent) => { GameObject window = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(window, 0, 0, 1, 1, 0.5f, 1, 0, 0, 0, 0); Image img = window.AddOrGetComponent <Image>(); img.type = Image.Type.Sliced; img.sprite = Resources.Instance.GetSpriteBackground(); VerticalLayoutGroup vertical = window.AddComponent <VerticalLayoutGroup>(); vertical.childForceExpandHeight = false; vertical.padding = new RectOffset(4, 4, 4, 4); vertical.spacing = 2; return(window); }); } goWinBar = Helper.FindOrCreateUI("WindowBar", goWindow, (string name, GameObject parent) => { GameObject winbar = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(winbar, 0, 1, 1, 1, 0.5f, 1, 0, 0, 0, 0); winbar.AddOrGetComponent <CanvasRenderer>(); Image img = winbar.AddOrGetComponent <Image>(); img.color = new Color(0.25f, 0.5f, 1.0f); DraggableRect draggable = winbar.AddComponent <DraggableRect>(); draggable.target = goWindow.GetComponent <RectTransform>(); LayoutElement layout = winbar.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; HorizontalLayoutGroup hor = winbar.AddComponent <HorizontalLayoutGroup>(); hor.childForceExpandHeight = false; hor.childForceExpandWidth = false; hor.childAlignment = TextAnchor.MiddleCenter; return(winbar); }); goTitle = Helper.FindOrCreateUI("WindowTitle", goWinBar, (string name, GameObject parent) => { GameObject title = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(title, 0, 0, 1, 1, 0.5f, 0.5f, 0, 0, 0, 0); LayoutElement layout = title.AddComponent <LayoutElement>(); layout.flexibleWidth = 1; Text text = title.AddOrGetComponent <Text>(); text.text = "Overlay UI"; text.alignment = TextAnchor.MiddleCenter; text.color = Color.white; text.font = Resources.Instance.GetFontTilte(); text.fontSize = Helper.FontSize(); return(title); }); goTabBar = Helper.FindOrCreateUI("TabBar", goWindow, (string name, GameObject parent) => { GameObject tabBar = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(tabBar, 0, 0, 1, 0, 0.5f, 1, 0, 0, 0, 0); LayoutElement layout = tabBar.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; HorizontalLayoutGroup hor = tabBar.AddComponent <HorizontalLayoutGroup>(); hor.childForceExpandHeight = false; hor.childForceExpandWidth = false; return(tabBar); }); goClose = Helper.FindOrCreateUI("CloseButton", (string name, GameObject parent) => { GameObject close = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(close, 1, 0, 1, 1, 1, 0.5f, 32.0f - 4.0f, -4.0f, -2.0f, 0); Image img = close.AddOrGetComponent <Image>(); img.sprite = Resources.Instance.GetSpriteButton(); img.type = Image.Type.Sliced; LayoutElement layout = close.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; layout.preferredWidth = 32.0f; return(close); }, goWinBar, goTabBar); GameObject goCloseCross = Helper.FindOrCreateUI("CloseCross", goClose, (string name, GameObject parent) => { GameObject cimg = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(cimg, 0, 0, 1, 1, 0.5f, 0.5f, 0, 0, 0, 0); Image img = cimg.AddOrGetComponent <Image>(); img.sprite = Silver.UI.Resources.GetStaticSpriteCross(); img.type = Image.Type.Simple; return(cimg); }); Button but = goClose.AddOrGetComponent <Button>(); but.onClick.RemoveAllListeners(); but.onClick.AddListener(() => { Visible = false; }); GameObject goTabView = Helper.FindOrCreateUI("TabScrollView", goTabBar, (string name, GameObject parent) => { GameObject tabview = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(tabview, 0, 0, 1, 0, 0.5f, 1, 0, 0, 0, 0); tabview.AddOrGetComponent <Image>(); Mask mask = tabview.AddOrGetComponent <Mask>(); mask.showMaskGraphic = false; LayoutElement layout = tabview.AddComponent <LayoutElement>(); layout.preferredHeight = 32.0f; layout.flexibleWidth = 1; return(tabview); }); GameObject goTabScroll = Helper.FindOrCreateUI("TabScrollRect", goTabView, (string name, GameObject parent) => { GameObject tabscroll = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(tabscroll, 0, 0, 1, 1, 0.5f, 1, 0, 0, 0, -2.0f); ScrollRect scroll = tabscroll.AddOrGetComponent <ScrollRect>(); scroll.vertical = false; scroll.scrollSensitivity = 8.0f; return(tabscroll); }); goTabContent = Helper.FindOrCreateUI("TabContent", goTabScroll, (string name, GameObject parent) => { GameObject tabcontent = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(tabcontent, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0); tabcontent.AddOrGetComponent <CanvasRenderer>(); HorizontalLayoutGroup horizontal = tabcontent.AddComponent <HorizontalLayoutGroup>(); horizontal.childForceExpandWidth = false; horizontal.padding = new RectOffset(4, 4, 0, 0); horizontal.spacing = 2; ContentSizeFitter fitter = tabcontent.AddComponent <ContentSizeFitter>(); fitter.horizontalFit = ContentSizeFitter.FitMode.PreferredSize; return(tabcontent); }); ScrollRect tabscrollScrollRect = goTabScroll.AddOrGetComponent <ScrollRect>(); tabscrollScrollRect.content = goTabContent.AddOrGetComponent <RectTransform>(); goInnerView = Helper.FindOrCreateUI("InnerScrollView", goWindow, (string name, GameObject parent) => { GameObject innerview = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(innerview, 0, 0, 1, 1, 0.5f, 0, -4.0f, 0.0f, 0, 2.0f); innerview.AddOrGetComponent <Image>(); Mask mask = innerview.AddOrGetComponent <Mask>(); mask.showMaskGraphic = false; LayoutElement layout = innerview.AddComponent <LayoutElement>(); layout.flexibleHeight = 1.0f; return(innerview); }); goInnerScroll = Helper.FindOrCreateUI("InnerScrollRect", goInnerView, (string name, GameObject parent) => { GameObject innerscroll = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(innerscroll, 0, 0, 1, 1, 0, 1, -24.0f, -24.0f, 0, 0); ScrollRect scroll = innerscroll.AddOrGetComponent <ScrollRect>(); scroll.scrollSensitivity = 8.0f; return(innerscroll); }); goEmptyContent = Helper.FindOrCreateUI("EmptyContent", goInnerScroll, (string name, GameObject parent) => { return(Helper.CreateGUIGameObject(name, parent)); }); goVerticalScrollBar = Helper.FindOrCreateUI("InnerVerticalScrollbar", goInnerView, (string name, GameObject parent) => { GameObject vertscrollbar = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(vertscrollbar, 1, 0, 1, 1, 1, 1, 20.0f, -24.0f, -2.0f, -2.0f); Scrollbar scrollbar = Helper.AddScrollbar(vertscrollbar); scrollbar.direction = Scrollbar.Direction.BottomToTop; return(vertscrollbar); }); goHorizontalScrollBar = Helper.FindOrCreateUI("InnerHorizontalScrollbar", goInnerView, (string name, GameObject parent) => { GameObject horiscrollbar = Helper.CreateGUIGameObject(name, parent); Helper.SetRectTransform(horiscrollbar, 0, 0, 1, 0, 0, 0, -24.0f, 20.0f, 2.0f, 2.0f); Helper.AddScrollbar(horiscrollbar); return(horiscrollbar); }); ScrollRect innerScrollScrollRect = goInnerScroll.AddOrGetComponent <ScrollRect>(); innerScrollScrollRect.verticalScrollbar = goVerticalScrollBar.GetComponent <Scrollbar>(); innerScrollScrollRect.horizontalScrollbar = goHorizontalScrollBar.GetComponent <Scrollbar>(); innerScrollScrollRect.content = Helper.SetRectTransform(goEmptyContent, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0); RefreshWindowsBarVisibility(); }