Utility class for creating default implementations of builtin UI controls.

Пример #1
0
 private static void SetParentAndAlign(GameObject child, GameObject parent)
 {
     if ((Object)parent == (Object)null)
     {
         return;
     }
     child.transform.SetParent(parent.transform, false);
     DefaultControls.SetLayerRecursively(child, parent.layer);
 }
Пример #2
0
        public static GameObject CreateText(DefaultControls.Resources resources)
        {
            GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Text", DefaultControls.s_ThickElementSize);
            Text       lbl           = uiElementRoot.AddComponent <Text>();

            lbl.text = "New Text";
            DefaultControls.SetDefaultTextValues(lbl);
            return(uiElementRoot);
        }
        public static GameObject CreateText(DefaultControls.Resources resources)
        {
            GameObject gameObject = DefaultControls.CreateUIElementRoot("Text", DefaultControls.s_ThickElementSize);
            Text       text       = gameObject.AddComponent <Text>();

            text.text = "New Text";
            DefaultControls.SetDefaultTextValues(text);
            return(gameObject);
        }
        private static void SetLayerRecursively(GameObject go, int layer)
        {
            go.layer = layer;
            Transform transform = go.transform;

            for (int i = 0; i < transform.childCount; i++)
            {
                DefaultControls.SetLayerRecursively(transform.GetChild(i).gameObject, layer);
            }
        }
        public static GameObject CreateSlider(DefaultControls.Resources resources)
        {
            GameObject gameObject  = DefaultControls.CreateUIElementRoot("Slider", DefaultControls.s_ThinElementSize);
            GameObject gameObject2 = DefaultControls.CreateUIObject("Background", gameObject);
            GameObject gameObject3 = DefaultControls.CreateUIObject("Fill Area", gameObject);
            GameObject gameObject4 = DefaultControls.CreateUIObject("Fill", gameObject3);
            GameObject gameObject5 = DefaultControls.CreateUIObject("Handle Slide Area", gameObject);
            GameObject gameObject6 = DefaultControls.CreateUIObject("Handle", gameObject5);
            Image      image       = gameObject2.AddComponent <Image>();

            image.sprite = resources.background;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_DefaultSelectableColor;
            RectTransform component = gameObject2.GetComponent <RectTransform>();

            component.anchorMin = new Vector2(0f, 0.25f);
            component.anchorMax = new Vector2(1f, 0.75f);
            component.sizeDelta = new Vector2(0f, 0f);
            RectTransform component2 = gameObject3.GetComponent <RectTransform>();

            component2.anchorMin        = new Vector2(0f, 0.25f);
            component2.anchorMax        = new Vector2(1f, 0.75f);
            component2.anchoredPosition = new Vector2(-5f, 0f);
            component2.sizeDelta        = new Vector2(-20f, 0f);
            Image image2 = gameObject4.AddComponent <Image>();

            image2.sprite = resources.standard;
            image2.type   = Image.Type.Sliced;
            image2.color  = DefaultControls.s_DefaultSelectableColor;
            RectTransform component3 = gameObject4.GetComponent <RectTransform>();

            component3.sizeDelta = new Vector2(10f, 0f);
            RectTransform component4 = gameObject5.GetComponent <RectTransform>();

            component4.sizeDelta = new Vector2(-20f, 0f);
            component4.anchorMin = new Vector2(0f, 0f);
            component4.anchorMax = new Vector2(1f, 1f);
            Image image3 = gameObject6.AddComponent <Image>();

            image3.sprite = resources.knob;
            image3.color  = DefaultControls.s_DefaultSelectableColor;
            RectTransform component5 = gameObject6.GetComponent <RectTransform>();

            component5.sizeDelta = new Vector2(20f, 0f);
            Slider slider = gameObject.AddComponent <Slider>();

            slider.fillRect      = gameObject4.GetComponent <RectTransform>();
            slider.handleRect    = gameObject6.GetComponent <RectTransform>();
            slider.targetGraphic = image3;
            slider.direction     = Slider.Direction.LeftToRight;
            DefaultControls.SetDefaultColorTransitionValues(slider);
            return(gameObject);
        }
Пример #6
0
 public static GameObject CreatePanel(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Panel", DefaultControls.s_ThickElementSize);
   RectTransform component = uiElementRoot.GetComponent<RectTransform>();
   component.anchorMin = Vector2.zero;
   component.anchorMax = Vector2.one;
   component.anchoredPosition = Vector2.zero;
   component.sizeDelta = Vector2.zero;
   Image image = uiElementRoot.AddComponent<Image>();
   image.sprite = resources.background;
   image.type = Image.Type.Sliced;
   image.color = DefaultControls.s_PanelColor;
   return uiElementRoot;
 }
        public static GameObject CreatePanel(DefaultControls.Resources resources)
        {
            GameObject    gameObject = DefaultControls.CreateUIElementRoot("Panel", DefaultControls.s_ThickElementSize);
            RectTransform component  = gameObject.GetComponent <RectTransform>();

            component.anchorMin        = Vector2.zero;
            component.anchorMax        = Vector2.one;
            component.anchoredPosition = Vector2.zero;
            component.sizeDelta        = Vector2.zero;
            Image image = gameObject.AddComponent <Image>();

            image.sprite = resources.background;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_PanelColor;
            return(gameObject);
        }
Пример #8
0
        public static GameObject CreateInputField(DefaultControls.Resources resources)
        {
            GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("InputField", DefaultControls.s_ThickElementSize);
            GameObject uiObject1     = DefaultControls.CreateUIObject("Placeholder", uiElementRoot);
            GameObject uiObject2     = DefaultControls.CreateUIObject("Text", uiElementRoot);
            Image      image         = uiElementRoot.AddComponent <Image>();

            image.sprite = resources.inputField;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_DefaultSelectableColor;
            InputField inputField = uiElementRoot.AddComponent <InputField>();

            DefaultControls.SetDefaultColorTransitionValues((Selectable)inputField);
            Text lbl = uiObject2.AddComponent <Text>();

            lbl.text            = string.Empty;
            lbl.supportRichText = false;
            DefaultControls.SetDefaultTextValues(lbl);
            Text text = uiObject1.AddComponent <Text>();

            text.text      = "Enter text...";
            text.fontStyle = FontStyle.Italic;
            Color color = lbl.color;

            color.a   *= 0.5f;
            text.color = color;
            RectTransform component1 = uiObject2.GetComponent <RectTransform>();

            component1.anchorMin = Vector2.zero;
            component1.anchorMax = Vector2.one;
            component1.sizeDelta = Vector2.zero;
            component1.offsetMin = new Vector2(10f, 6f);
            component1.offsetMax = new Vector2(-10f, -7f);
            RectTransform component2 = uiObject1.GetComponent <RectTransform>();

            component2.anchorMin     = Vector2.zero;
            component2.anchorMax     = Vector2.one;
            component2.sizeDelta     = Vector2.zero;
            component2.offsetMin     = new Vector2(10f, 6f);
            component2.offsetMax     = new Vector2(-10f, -7f);
            inputField.textComponent = lbl;
            inputField.placeholder   = (Graphic)text;
            return(uiElementRoot);
        }
        public static GameObject CreateToggle(DefaultControls.Resources resources)
        {
            GameObject gameObject  = DefaultControls.CreateUIElementRoot("Toggle", DefaultControls.s_ThinElementSize);
            GameObject gameObject2 = DefaultControls.CreateUIObject("Background", gameObject);
            GameObject gameObject3 = DefaultControls.CreateUIObject("Checkmark", gameObject2);
            GameObject gameObject4 = DefaultControls.CreateUIObject("Label", gameObject);
            Toggle     toggle      = gameObject.AddComponent <Toggle>();

            toggle.isOn = true;
            Image image = gameObject2.AddComponent <Image>();

            image.sprite = resources.standard;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_DefaultSelectableColor;
            Image image2 = gameObject3.AddComponent <Image>();

            image2.sprite = resources.checkmark;
            Text text = gameObject4.AddComponent <Text>();

            text.text = "Toggle";
            DefaultControls.SetDefaultTextValues(text);
            toggle.graphic       = image2;
            toggle.targetGraphic = image;
            DefaultControls.SetDefaultColorTransitionValues(toggle);
            RectTransform component = gameObject2.GetComponent <RectTransform>();

            component.anchorMin        = new Vector2(0f, 1f);
            component.anchorMax        = new Vector2(0f, 1f);
            component.anchoredPosition = new Vector2(10f, -10f);
            component.sizeDelta        = new Vector2(20f, 20f);
            RectTransform component2 = gameObject3.GetComponent <RectTransform>();

            component2.anchorMin        = new Vector2(0.5f, 0.5f);
            component2.anchorMax        = new Vector2(0.5f, 0.5f);
            component2.anchoredPosition = Vector2.zero;
            component2.sizeDelta        = new Vector2(20f, 20f);
            RectTransform component3 = gameObject4.GetComponent <RectTransform>();

            component3.anchorMin = new Vector2(0f, 0f);
            component3.anchorMax = new Vector2(1f, 1f);
            component3.offsetMin = new Vector2(23f, 1f);
            component3.offsetMax = new Vector2(-5f, -2f);
            return(gameObject);
        }
Пример #10
0
        public static GameObject CreateInputField(DefaultControls.Resources resources)
        {
            GameObject gameObject  = DefaultControls.CreateUIElementRoot("InputField", DefaultControls.s_ThickElementSize);
            GameObject gameObject2 = DefaultControls.CreateUIObject("Placeholder", gameObject);
            GameObject gameObject3 = DefaultControls.CreateUIObject("Text", gameObject);
            Image      image       = gameObject.AddComponent <Image>();

            image.sprite = resources.inputField;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_DefaultSelectableColor;
            InputField inputField = gameObject.AddComponent <InputField>();

            DefaultControls.SetDefaultColorTransitionValues(inputField);
            Text text = gameObject3.AddComponent <Text>();

            text.text            = "";
            text.supportRichText = false;
            DefaultControls.SetDefaultTextValues(text);
            Text text2 = gameObject2.AddComponent <Text>();

            text2.text      = "Enter text...";
            text2.fontStyle = FontStyle.Italic;
            Color color = text.color;

            color.a    *= 0.5f;
            text2.color = color;
            RectTransform component = gameObject3.GetComponent <RectTransform>();

            component.anchorMin = Vector2.zero;
            component.anchorMax = Vector2.one;
            component.sizeDelta = Vector2.zero;
            component.offsetMin = new Vector2(10f, 6f);
            component.offsetMax = new Vector2(-10f, -7f);
            RectTransform component2 = gameObject2.GetComponent <RectTransform>();

            component2.anchorMin     = Vector2.zero;
            component2.anchorMax     = Vector2.one;
            component2.sizeDelta     = Vector2.zero;
            component2.offsetMin     = new Vector2(10f, 6f);
            component2.offsetMax     = new Vector2(-10f, -7f);
            inputField.textComponent = text;
            inputField.placeholder   = text2;
            return(gameObject);
        }
        public static GameObject CreateLoopVerticalScrollRect(DefaultControls.Resources resources)
        {
            GameObject root = CreateUIElementRoot("Loop Vertical Scroll Rect", new Vector2(200, 200));

            GameObject content = CreateUIObject("Content", root);

            RectTransform contentRT = content.GetComponent<RectTransform>();
            contentRT.anchorMin = new Vector2(0.5f, 1);
            contentRT.anchorMax = new Vector2(0.5f, 1);
            contentRT.sizeDelta = new Vector2(200, 0);
            contentRT.pivot = new Vector2(0.5f, 1);

            // Setup UI components.

            LoopVerticalScrollRect scrollRect = root.AddComponent<LoopVerticalScrollRect>();
            scrollRect.content = contentRT;
            scrollRect.viewport = null;
            scrollRect.horizontalScrollbar = null;
            scrollRect.verticalScrollbar = null;
            scrollRect.horizontal = false;
            scrollRect.vertical = true;
            scrollRect.horizontalScrollbarVisibility = LoopScrollRect.ScrollbarVisibility.Permanent;
            scrollRect.verticalScrollbarVisibility = LoopScrollRect.ScrollbarVisibility.Permanent;
            scrollRect.horizontalScrollbarSpacing = 0;
            scrollRect.verticalScrollbarSpacing = 0;

            root.AddComponent<RectMask2D>();

            VerticalLayoutGroup layoutGroup = content.AddComponent<VerticalLayoutGroup>();
            layoutGroup.childAlignment = TextAnchor.UpperCenter;
            layoutGroup.childForceExpandWidth = true;
            layoutGroup.childForceExpandHeight = false;

            ContentSizeFitter sizeFitter = content.AddComponent<ContentSizeFitter>();
            sizeFitter.horizontalFit = ContentSizeFitter.FitMode.Unconstrained;
            sizeFitter.verticalFit = ContentSizeFitter.FitMode.PreferredSize;

            return root;
        }
Пример #12
0
        private Image NewImage()
        {
            var resources = new DefaultControls.Resources();
            var go        = DefaultControls.CreateImage(resources);

            if (Application.isPlaying)
            {
                GameObject.DontDestroyOnLoad(go);
            }
            go.layer = gameObject.layer;
            var rt = go.transform as RectTransform;

            if (rt)
            {
                rt.SetParent(rectTransform);
                rt.localPosition = Vector3.zero;
                rt.localRotation = Quaternion.identity;
                rt.localScale    = Vector3.one;
            }
            Image img = go.GetComponent <Image>();

            img.raycastTarget = false;
            return(img);
        }
Пример #13
0
        public static GameObject CreateButton(DefaultControls.Resources resources)
        {
            GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Button", DefaultControls.s_ThickElementSize);
            GameObject child         = new GameObject("Text");

            DefaultControls.SetParentAndAlign(child, uiElementRoot);
            Image image = uiElementRoot.AddComponent <Image>();

            image.sprite = resources.standard;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_DefaultSelectableColor;
            DefaultControls.SetDefaultColorTransitionValues((Selectable)uiElementRoot.AddComponent <Button>());
            Text lbl = child.AddComponent <Text>();

            lbl.text      = "Button";
            lbl.alignment = TextAnchor.MiddleCenter;
            DefaultControls.SetDefaultTextValues(lbl);
            RectTransform component = child.GetComponent <RectTransform>();

            component.anchorMin = Vector2.zero;
            component.anchorMax = Vector2.one;
            component.sizeDelta = Vector2.zero;
            return(uiElementRoot);
        }
Пример #14
0
        public static GameObject CreateScrollView(DefaultControls.Resources resources)
        {
            GameObject gameObject  = DefaultControls.CreateUIElementRoot("Scroll View", new Vector2(200f, 200f));
            GameObject gameObject2 = DefaultControls.CreateUIObject("Viewport", gameObject);
            GameObject gameObject3 = DefaultControls.CreateUIObject("Content", gameObject2);
            GameObject gameObject4 = DefaultControls.CreateScrollbar(resources);

            gameObject4.name = "Scrollbar Horizontal";
            DefaultControls.SetParentAndAlign(gameObject4, gameObject);
            RectTransform component = gameObject4.GetComponent <RectTransform>();

            component.anchorMin = Vector2.zero;
            component.anchorMax = Vector2.right;
            component.pivot     = Vector2.zero;
            component.sizeDelta = new Vector2(0f, component.sizeDelta.y);
            GameObject gameObject5 = DefaultControls.CreateScrollbar(resources);

            gameObject5.name = "Scrollbar Vertical";
            DefaultControls.SetParentAndAlign(gameObject5, gameObject);
            gameObject5.GetComponent <Scrollbar>().SetDirection(Scrollbar.Direction.BottomToTop, true);
            RectTransform component2 = gameObject5.GetComponent <RectTransform>();

            component2.anchorMin = Vector2.right;
            component2.anchorMax = Vector2.one;
            component2.pivot     = Vector2.one;
            component2.sizeDelta = new Vector2(component2.sizeDelta.x, 0f);
            RectTransform component3 = gameObject2.GetComponent <RectTransform>();

            component3.anchorMin = Vector2.zero;
            component3.anchorMax = Vector2.one;
            component3.sizeDelta = Vector2.zero;
            component3.pivot     = Vector2.up;
            RectTransform component4 = gameObject3.GetComponent <RectTransform>();

            component4.anchorMin = Vector2.up;
            component4.anchorMax = Vector2.one;
            component4.sizeDelta = new Vector2(0f, 300f);
            component4.pivot     = Vector2.up;
            ScrollRect scrollRect = gameObject.AddComponent <ScrollRect>();

            scrollRect.content                       = component4;
            scrollRect.viewport                      = component3;
            scrollRect.horizontalScrollbar           = gameObject4.GetComponent <Scrollbar>();
            scrollRect.verticalScrollbar             = gameObject5.GetComponent <Scrollbar>();
            scrollRect.horizontalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
            scrollRect.verticalScrollbarVisibility   = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
            scrollRect.horizontalScrollbarSpacing    = -3f;
            scrollRect.verticalScrollbarSpacing      = -3f;
            Image image = gameObject.AddComponent <Image>();

            image.sprite = resources.background;
            image.type   = Image.Type.Sliced;
            image.color  = DefaultControls.s_PanelColor;
            Mask mask = gameObject2.AddComponent <Mask>();

            mask.showMaskGraphic = false;
            Image image2 = gameObject2.AddComponent <Image>();

            image2.sprite = resources.mask;
            image2.type   = Image.Type.Sliced;
            return(gameObject);
        }
Пример #15
0
        public static GameObject CreateDropdown(DefaultControls.Resources resources)
        {
            GameObject gameObject   = DefaultControls.CreateUIElementRoot("Dropdown", DefaultControls.s_ThickElementSize);
            GameObject gameObject2  = DefaultControls.CreateUIObject("Label", gameObject);
            GameObject gameObject3  = DefaultControls.CreateUIObject("Arrow", gameObject);
            GameObject gameObject4  = DefaultControls.CreateUIObject("Template", gameObject);
            GameObject gameObject5  = DefaultControls.CreateUIObject("Viewport", gameObject4);
            GameObject gameObject6  = DefaultControls.CreateUIObject("Content", gameObject5);
            GameObject gameObject7  = DefaultControls.CreateUIObject("Item", gameObject6);
            GameObject gameObject8  = DefaultControls.CreateUIObject("Item Background", gameObject7);
            GameObject gameObject9  = DefaultControls.CreateUIObject("Item Checkmark", gameObject7);
            GameObject gameObject10 = DefaultControls.CreateUIObject("Item Label", gameObject7);
            GameObject gameObject11 = DefaultControls.CreateScrollbar(resources);

            gameObject11.name = "Scrollbar";
            DefaultControls.SetParentAndAlign(gameObject11, gameObject4);
            Scrollbar component = gameObject11.GetComponent <Scrollbar>();

            component.SetDirection(Scrollbar.Direction.BottomToTop, true);
            RectTransform component2 = gameObject11.GetComponent <RectTransform>();

            component2.anchorMin = Vector2.right;
            component2.anchorMax = Vector2.one;
            component2.pivot     = Vector2.one;
            component2.sizeDelta = new Vector2(component2.sizeDelta.x, 0f);
            Text text = gameObject10.AddComponent <Text>();

            DefaultControls.SetDefaultTextValues(text);
            text.alignment = TextAnchor.MiddleLeft;
            Image image = gameObject8.AddComponent <Image>();

            image.color = new Color32(245, 245, 245, byte.MaxValue);
            Image image2 = gameObject9.AddComponent <Image>();

            image2.sprite = resources.checkmark;
            Toggle toggle = gameObject7.AddComponent <Toggle>();

            toggle.targetGraphic = image;
            toggle.graphic       = image2;
            toggle.isOn          = true;
            Image image3 = gameObject4.AddComponent <Image>();

            image3.sprite = resources.standard;
            image3.type   = Image.Type.Sliced;
            ScrollRect scrollRect = gameObject4.AddComponent <ScrollRect>();

            scrollRect.content                     = (RectTransform)gameObject6.transform;
            scrollRect.viewport                    = (RectTransform)gameObject5.transform;
            scrollRect.horizontal                  = false;
            scrollRect.movementType                = ScrollRect.MovementType.Clamped;
            scrollRect.verticalScrollbar           = component;
            scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
            scrollRect.verticalScrollbarSpacing    = -3f;
            Mask mask = gameObject5.AddComponent <Mask>();

            mask.showMaskGraphic = false;
            Image image4 = gameObject5.AddComponent <Image>();

            image4.sprite = resources.mask;
            image4.type   = Image.Type.Sliced;
            Text text2 = gameObject2.AddComponent <Text>();

            DefaultControls.SetDefaultTextValues(text2);
            text2.alignment = TextAnchor.MiddleLeft;
            Image image5 = gameObject3.AddComponent <Image>();

            image5.sprite = resources.dropdown;
            Image image6 = gameObject.AddComponent <Image>();

            image6.sprite = resources.standard;
            image6.color  = DefaultControls.s_DefaultSelectableColor;
            image6.type   = Image.Type.Sliced;
            Dropdown dropdown = gameObject.AddComponent <Dropdown>();

            dropdown.targetGraphic = image6;
            DefaultControls.SetDefaultColorTransitionValues(dropdown);
            dropdown.template    = gameObject4.GetComponent <RectTransform>();
            dropdown.captionText = text2;
            dropdown.itemText    = text;
            text.text            = "Option A";
            dropdown.options.Add(new Dropdown.OptionData
            {
                text = "Option A"
            });
            dropdown.options.Add(new Dropdown.OptionData
            {
                text = "Option B"
            });
            dropdown.options.Add(new Dropdown.OptionData
            {
                text = "Option C"
            });
            dropdown.RefreshShownValue();
            RectTransform component3 = gameObject2.GetComponent <RectTransform>();

            component3.anchorMin = Vector2.zero;
            component3.anchorMax = Vector2.one;
            component3.offsetMin = new Vector2(10f, 6f);
            component3.offsetMax = new Vector2(-25f, -7f);
            RectTransform component4 = gameObject3.GetComponent <RectTransform>();

            component4.anchorMin        = new Vector2(1f, 0.5f);
            component4.anchorMax        = new Vector2(1f, 0.5f);
            component4.sizeDelta        = new Vector2(20f, 20f);
            component4.anchoredPosition = new Vector2(-15f, 0f);
            RectTransform component5 = gameObject4.GetComponent <RectTransform>();

            component5.anchorMin        = new Vector2(0f, 0f);
            component5.anchorMax        = new Vector2(1f, 0f);
            component5.pivot            = new Vector2(0.5f, 1f);
            component5.anchoredPosition = new Vector2(0f, 2f);
            component5.sizeDelta        = new Vector2(0f, 150f);
            RectTransform component6 = gameObject5.GetComponent <RectTransform>();

            component6.anchorMin = new Vector2(0f, 0f);
            component6.anchorMax = new Vector2(1f, 1f);
            component6.sizeDelta = new Vector2(-18f, 0f);
            component6.pivot     = new Vector2(0f, 1f);
            RectTransform component7 = gameObject6.GetComponent <RectTransform>();

            component7.anchorMin        = new Vector2(0f, 1f);
            component7.anchorMax        = new Vector2(1f, 1f);
            component7.pivot            = new Vector2(0.5f, 1f);
            component7.anchoredPosition = new Vector2(0f, 0f);
            component7.sizeDelta        = new Vector2(0f, 28f);
            RectTransform component8 = gameObject7.GetComponent <RectTransform>();

            component8.anchorMin = new Vector2(0f, 0.5f);
            component8.anchorMax = new Vector2(1f, 0.5f);
            component8.sizeDelta = new Vector2(0f, 20f);
            RectTransform component9 = gameObject8.GetComponent <RectTransform>();

            component9.anchorMin = Vector2.zero;
            component9.anchorMax = Vector2.one;
            component9.sizeDelta = Vector2.zero;
            RectTransform component10 = gameObject9.GetComponent <RectTransform>();

            component10.anchorMin        = new Vector2(0f, 0.5f);
            component10.anchorMax        = new Vector2(0f, 0.5f);
            component10.sizeDelta        = new Vector2(20f, 20f);
            component10.anchoredPosition = new Vector2(10f, 0f);
            RectTransform component11 = gameObject10.GetComponent <RectTransform>();

            component11.anchorMin = Vector2.zero;
            component11.anchorMax = Vector2.one;
            component11.offsetMin = new Vector2(20f, 1f);
            component11.offsetMax = new Vector2(-10f, -2f);
            gameObject4.SetActive(false);
            return(gameObject);
        }
Пример #16
0
 public static GameObject CreateSlider(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Slider", DefaultControls.s_ThinElementSize);
   GameObject uiObject1 = DefaultControls.CreateUIObject("Background", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Fill Area", uiElementRoot);
   GameObject uiObject3 = DefaultControls.CreateUIObject("Fill", uiObject2);
   GameObject uiObject4 = DefaultControls.CreateUIObject("Handle Slide Area", uiElementRoot);
   GameObject uiObject5 = DefaultControls.CreateUIObject("Handle", uiObject4);
   Image image1 = uiObject1.AddComponent<Image>();
   image1.sprite = resources.background;
   image1.type = Image.Type.Sliced;
   image1.color = DefaultControls.s_DefaultSelectableColor;
   RectTransform component1 = uiObject1.GetComponent<RectTransform>();
   component1.anchorMin = new Vector2(0.0f, 0.25f);
   component1.anchorMax = new Vector2(1f, 0.75f);
   component1.sizeDelta = new Vector2(0.0f, 0.0f);
   RectTransform component2 = uiObject2.GetComponent<RectTransform>();
   component2.anchorMin = new Vector2(0.0f, 0.25f);
   component2.anchorMax = new Vector2(1f, 0.75f);
   component2.anchoredPosition = new Vector2(-5f, 0.0f);
   component2.sizeDelta = new Vector2(-20f, 0.0f);
   Image image2 = uiObject3.AddComponent<Image>();
   image2.sprite = resources.standard;
   image2.type = Image.Type.Sliced;
   image2.color = DefaultControls.s_DefaultSelectableColor;
   uiObject3.GetComponent<RectTransform>().sizeDelta = new Vector2(10f, 0.0f);
   RectTransform component3 = uiObject4.GetComponent<RectTransform>();
   component3.sizeDelta = new Vector2(-20f, 0.0f);
   component3.anchorMin = new Vector2(0.0f, 0.0f);
   component3.anchorMax = new Vector2(1f, 1f);
   Image image3 = uiObject5.AddComponent<Image>();
   image3.sprite = resources.knob;
   image3.color = DefaultControls.s_DefaultSelectableColor;
   uiObject5.GetComponent<RectTransform>().sizeDelta = new Vector2(20f, 0.0f);
   Slider slider = uiElementRoot.AddComponent<Slider>();
   slider.fillRect = uiObject3.GetComponent<RectTransform>();
   slider.handleRect = uiObject5.GetComponent<RectTransform>();
   slider.targetGraphic = (Graphic) image3;
   slider.direction = Slider.Direction.LeftToRight;
   DefaultControls.SetDefaultColorTransitionValues((Selectable) slider);
   return uiElementRoot;
 }
Пример #17
0
 public static GameObject CreateScrollbar(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Scrollbar", DefaultControls.s_ThinElementSize);
   GameObject uiObject1 = DefaultControls.CreateUIObject("Sliding Area", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Handle", uiObject1);
   Image image1 = uiElementRoot.AddComponent<Image>();
   image1.sprite = resources.background;
   image1.type = Image.Type.Sliced;
   image1.color = DefaultControls.s_DefaultSelectableColor;
   Image image2 = uiObject2.AddComponent<Image>();
   image2.sprite = resources.standard;
   image2.type = Image.Type.Sliced;
   image2.color = DefaultControls.s_DefaultSelectableColor;
   RectTransform component1 = uiObject1.GetComponent<RectTransform>();
   component1.sizeDelta = new Vector2(-20f, -20f);
   component1.anchorMin = Vector2.zero;
   component1.anchorMax = Vector2.one;
   RectTransform component2 = uiObject2.GetComponent<RectTransform>();
   component2.sizeDelta = new Vector2(20f, 20f);
   Scrollbar scrollbar = uiElementRoot.AddComponent<Scrollbar>();
   scrollbar.handleRect = component2;
   scrollbar.targetGraphic = (Graphic) image2;
   DefaultControls.SetDefaultColorTransitionValues((Selectable) scrollbar);
   return uiElementRoot;
 }
Пример #18
0
 public static GameObject CreateDropdown(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Dropdown", DefaultControls.s_ThickElementSize);
   GameObject uiObject1 = DefaultControls.CreateUIObject("Label", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Arrow", uiElementRoot);
   GameObject uiObject3 = DefaultControls.CreateUIObject("Template", uiElementRoot);
   GameObject uiObject4 = DefaultControls.CreateUIObject("Viewport", uiObject3);
   GameObject uiObject5 = DefaultControls.CreateUIObject("Content", uiObject4);
   GameObject uiObject6 = DefaultControls.CreateUIObject("Item", uiObject5);
   GameObject uiObject7 = DefaultControls.CreateUIObject("Item Background", uiObject6);
   GameObject uiObject8 = DefaultControls.CreateUIObject("Item Checkmark", uiObject6);
   GameObject uiObject9 = DefaultControls.CreateUIObject("Item Label", uiObject6);
   GameObject scrollbar = DefaultControls.CreateScrollbar(resources);
   scrollbar.name = "Scrollbar";
   DefaultControls.SetParentAndAlign(scrollbar, uiObject3);
   Scrollbar component1 = scrollbar.GetComponent<Scrollbar>();
   component1.SetDirection(Scrollbar.Direction.BottomToTop, true);
   RectTransform component2 = scrollbar.GetComponent<RectTransform>();
   component2.anchorMin = Vector2.right;
   component2.anchorMax = Vector2.one;
   component2.pivot = Vector2.one;
   component2.sizeDelta = new Vector2(component2.sizeDelta.x, 0.0f);
   Text lbl1 = uiObject9.AddComponent<Text>();
   DefaultControls.SetDefaultTextValues(lbl1);
   lbl1.alignment = TextAnchor.MiddleLeft;
   Image image1 = uiObject7.AddComponent<Image>();
   image1.color = (Color) new Color32((byte) 245, (byte) 245, (byte) 245, byte.MaxValue);
   Image image2 = uiObject8.AddComponent<Image>();
   image2.sprite = resources.checkmark;
   Toggle toggle = uiObject6.AddComponent<Toggle>();
   toggle.targetGraphic = (Graphic) image1;
   toggle.graphic = (Graphic) image2;
   toggle.isOn = true;
   Image image3 = uiObject3.AddComponent<Image>();
   image3.sprite = resources.standard;
   image3.type = Image.Type.Sliced;
   ScrollRect scrollRect = uiObject3.AddComponent<ScrollRect>();
   scrollRect.content = (RectTransform) uiObject5.transform;
   scrollRect.viewport = (RectTransform) uiObject4.transform;
   scrollRect.horizontal = false;
   scrollRect.movementType = ScrollRect.MovementType.Clamped;
   scrollRect.verticalScrollbar = component1;
   scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
   scrollRect.verticalScrollbarSpacing = -3f;
   uiObject4.AddComponent<Mask>().showMaskGraphic = false;
   Image image4 = uiObject4.AddComponent<Image>();
   image4.sprite = resources.mask;
   image4.type = Image.Type.Sliced;
   Text lbl2 = uiObject1.AddComponent<Text>();
   DefaultControls.SetDefaultTextValues(lbl2);
   lbl2.alignment = TextAnchor.MiddleLeft;
   uiObject2.AddComponent<Image>().sprite = resources.dropdown;
   Image image5 = uiElementRoot.AddComponent<Image>();
   image5.sprite = resources.standard;
   image5.color = DefaultControls.s_DefaultSelectableColor;
   image5.type = Image.Type.Sliced;
   Dropdown dropdown = uiElementRoot.AddComponent<Dropdown>();
   dropdown.targetGraphic = (Graphic) image5;
   DefaultControls.SetDefaultColorTransitionValues((Selectable) dropdown);
   dropdown.template = uiObject3.GetComponent<RectTransform>();
   dropdown.captionText = lbl2;
   dropdown.itemText = lbl1;
   lbl1.text = "Option A";
   dropdown.options.Add(new Dropdown.OptionData()
   {
     text = "Option A"
   });
   dropdown.options.Add(new Dropdown.OptionData()
   {
     text = "Option B"
   });
   dropdown.options.Add(new Dropdown.OptionData()
   {
     text = "Option C"
   });
   dropdown.RefreshShownValue();
   RectTransform component3 = uiObject1.GetComponent<RectTransform>();
   component3.anchorMin = Vector2.zero;
   component3.anchorMax = Vector2.one;
   component3.offsetMin = new Vector2(10f, 6f);
   component3.offsetMax = new Vector2(-25f, -7f);
   RectTransform component4 = uiObject2.GetComponent<RectTransform>();
   component4.anchorMin = new Vector2(1f, 0.5f);
   component4.anchorMax = new Vector2(1f, 0.5f);
   component4.sizeDelta = new Vector2(20f, 20f);
   component4.anchoredPosition = new Vector2(-15f, 0.0f);
   RectTransform component5 = uiObject3.GetComponent<RectTransform>();
   component5.anchorMin = new Vector2(0.0f, 0.0f);
   component5.anchorMax = new Vector2(1f, 0.0f);
   component5.pivot = new Vector2(0.5f, 1f);
   component5.anchoredPosition = new Vector2(0.0f, 2f);
   component5.sizeDelta = new Vector2(0.0f, 150f);
   RectTransform component6 = uiObject4.GetComponent<RectTransform>();
   component6.anchorMin = new Vector2(0.0f, 0.0f);
   component6.anchorMax = new Vector2(1f, 1f);
   component6.sizeDelta = new Vector2(-18f, 0.0f);
   component6.pivot = new Vector2(0.0f, 1f);
   RectTransform component7 = uiObject5.GetComponent<RectTransform>();
   component7.anchorMin = new Vector2(0.0f, 1f);
   component7.anchorMax = new Vector2(1f, 1f);
   component7.pivot = new Vector2(0.5f, 1f);
   component7.anchoredPosition = new Vector2(0.0f, 0.0f);
   component7.sizeDelta = new Vector2(0.0f, 28f);
   RectTransform component8 = uiObject6.GetComponent<RectTransform>();
   component8.anchorMin = new Vector2(0.0f, 0.5f);
   component8.anchorMax = new Vector2(1f, 0.5f);
   component8.sizeDelta = new Vector2(0.0f, 20f);
   RectTransform component9 = uiObject7.GetComponent<RectTransform>();
   component9.anchorMin = Vector2.zero;
   component9.anchorMax = Vector2.one;
   component9.sizeDelta = Vector2.zero;
   RectTransform component10 = uiObject8.GetComponent<RectTransform>();
   component10.anchorMin = new Vector2(0.0f, 0.5f);
   component10.anchorMax = new Vector2(0.0f, 0.5f);
   component10.sizeDelta = new Vector2(20f, 20f);
   component10.anchoredPosition = new Vector2(10f, 0.0f);
   RectTransform component11 = uiObject9.GetComponent<RectTransform>();
   component11.anchorMin = Vector2.zero;
   component11.anchorMax = Vector2.one;
   component11.offsetMin = new Vector2(20f, 1f);
   component11.offsetMax = new Vector2(-10f, -2f);
   uiObject3.SetActive(false);
   return uiElementRoot;
 }
Пример #19
0
 public static GameObject CreateToggle(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Toggle", DefaultControls.s_ThinElementSize);
   GameObject uiObject1 = DefaultControls.CreateUIObject("Background", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Checkmark", uiObject1);
   GameObject uiObject3 = DefaultControls.CreateUIObject("Label", uiElementRoot);
   Toggle toggle = uiElementRoot.AddComponent<Toggle>();
   toggle.isOn = true;
   Image image1 = uiObject1.AddComponent<Image>();
   image1.sprite = resources.standard;
   image1.type = Image.Type.Sliced;
   image1.color = DefaultControls.s_DefaultSelectableColor;
   Image image2 = uiObject2.AddComponent<Image>();
   image2.sprite = resources.checkmark;
   Text lbl = uiObject3.AddComponent<Text>();
   lbl.text = "Toggle";
   DefaultControls.SetDefaultTextValues(lbl);
   toggle.graphic = (Graphic) image2;
   toggle.targetGraphic = (Graphic) image1;
   DefaultControls.SetDefaultColorTransitionValues((Selectable) toggle);
   RectTransform component1 = uiObject1.GetComponent<RectTransform>();
   component1.anchorMin = new Vector2(0.0f, 1f);
   component1.anchorMax = new Vector2(0.0f, 1f);
   component1.anchoredPosition = new Vector2(10f, -10f);
   component1.sizeDelta = new Vector2(20f, 20f);
   RectTransform component2 = uiObject2.GetComponent<RectTransform>();
   component2.anchorMin = new Vector2(0.5f, 0.5f);
   component2.anchorMax = new Vector2(0.5f, 0.5f);
   component2.anchoredPosition = Vector2.zero;
   component2.sizeDelta = new Vector2(20f, 20f);
   RectTransform component3 = uiObject3.GetComponent<RectTransform>();
   component3.anchorMin = new Vector2(0.0f, 0.0f);
   component3.anchorMax = new Vector2(1f, 1f);
   component3.offsetMin = new Vector2(23f, 1f);
   component3.offsetMax = new Vector2(-5f, -2f);
   return uiElementRoot;
 }
Пример #20
0
 public static GameObject CreateText(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Text", DefaultControls.s_ThickElementSize);
   Text lbl = uiElementRoot.AddComponent<Text>();
   lbl.text = "New Text";
   DefaultControls.SetDefaultTextValues(lbl);
   return uiElementRoot;
 }
Пример #21
0
 public static GameObject CreateInputField(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("InputField", DefaultControls.s_ThickElementSize);
   GameObject uiObject1 = DefaultControls.CreateUIObject("Placeholder", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Text", uiElementRoot);
   Image image = uiElementRoot.AddComponent<Image>();
   image.sprite = resources.inputField;
   image.type = Image.Type.Sliced;
   image.color = DefaultControls.s_DefaultSelectableColor;
   InputField inputField = uiElementRoot.AddComponent<InputField>();
   DefaultControls.SetDefaultColorTransitionValues((Selectable) inputField);
   Text lbl = uiObject2.AddComponent<Text>();
   lbl.text = string.Empty;
   lbl.supportRichText = false;
   DefaultControls.SetDefaultTextValues(lbl);
   Text text = uiObject1.AddComponent<Text>();
   text.text = "Enter text...";
   text.fontStyle = FontStyle.Italic;
   Color color = lbl.color;
   color.a *= 0.5f;
   text.color = color;
   RectTransform component1 = uiObject2.GetComponent<RectTransform>();
   component1.anchorMin = Vector2.zero;
   component1.anchorMax = Vector2.one;
   component1.sizeDelta = Vector2.zero;
   component1.offsetMin = new Vector2(10f, 6f);
   component1.offsetMax = new Vector2(-10f, -7f);
   RectTransform component2 = uiObject1.GetComponent<RectTransform>();
   component2.anchorMin = Vector2.zero;
   component2.anchorMax = Vector2.one;
   component2.sizeDelta = Vector2.zero;
   component2.offsetMin = new Vector2(10f, 6f);
   component2.offsetMax = new Vector2(-10f, -7f);
   inputField.textComponent = lbl;
   inputField.placeholder = (Graphic) text;
   return uiElementRoot;
 }
Пример #22
0
 public static GameObject CreateButton(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Button", DefaultControls.s_ThickElementSize);
   GameObject child = new GameObject("Text");
   DefaultControls.SetParentAndAlign(child, uiElementRoot);
   Image image = uiElementRoot.AddComponent<Image>();
   image.sprite = resources.standard;
   image.type = Image.Type.Sliced;
   image.color = DefaultControls.s_DefaultSelectableColor;
   DefaultControls.SetDefaultColorTransitionValues((Selectable) uiElementRoot.AddComponent<Button>());
   Text lbl = child.AddComponent<Text>();
   lbl.text = "Button";
   lbl.alignment = TextAnchor.MiddleCenter;
   DefaultControls.SetDefaultTextValues(lbl);
   RectTransform component = child.GetComponent<RectTransform>();
   component.anchorMin = Vector2.zero;
   component.anchorMax = Vector2.one;
   component.sizeDelta = Vector2.zero;
   return uiElementRoot;
 }
Пример #23
0
 public static GameObject CreateRawImage(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("RawImage", DefaultControls.s_ImageElementSize);
   uiElementRoot.AddComponent<RawImage>();
   return uiElementRoot;
 }
Пример #24
0
        protected void UpdateQuadImage()
        {
#if UNITY_EDITOR && !UNITY_2018_3_OR_NEWER
            if (UnityEditor.PrefabUtility.GetPrefabType(this) == UnityEditor.PrefabType.Prefab)
            {
                return;
            }
#endif
            m_OutputText = GetOutputText();

            matches = s_Regex.Matches(m_OutputText);

            if (matches != null && matches.Count > 0)
            {
                for (int i = 0; i < matches.Count; i++)
                {
                    m_ImagesPool.RemoveAll(image => image == null);

                    if (m_ImagesPool.Count == 0)
                    {
                        GetComponentsInChildren <Image>(true, m_ImagesPool);
                    }

                    if (matches.Count > m_ImagesPool.Count)
                    {
                        DefaultControls.Resources resources = new DefaultControls.Resources();
                        GameObject go = DefaultControls.CreateImage(resources);

                        go.layer = gameObject.layer;

                        RectTransform rt = go.transform as RectTransform;

                        if (rt)
                        {
                            rt.SetParent(rectTransform);
                            rt.anchoredPosition3D = Vector3.zero;
                            rt.localRotation      = Quaternion.identity;
                            rt.localScale         = Vector3.one;
                        }

                        m_ImagesPool.Add(go.GetComponent <Image>());
                    }

                    string spriteName = matches[i].Groups[1].Value;

                    Image img = m_ImagesPool[i];

                    Vector2 imgoffset = Vector2.zero;

                    if (img.sprite == null || img.sprite.name != spriteName)
                    {
                        if (inspectorIconList != null && inspectorIconList.Length > 0)
                        {
                            for (int s = 0; s < inspectorIconList.Length; s++)
                            {
                                if (inspectorIconList[s].name == spriteName)
                                {
                                    img.sprite                  = inspectorIconList[s].sprite;
                                    img.preserveAspect          = true;
                                    img.rectTransform.sizeDelta = new Vector2(fontSize * ImageScalingFactor * inspectorIconList[s].scale.x,
                                                                              fontSize * ImageScalingFactor * inspectorIconList[s].scale.y);
                                    imgoffset = inspectorIconList[s].offset;

                                    break;
                                }
                            }
                        }
                    }

                    img.enabled = true;

                    if (positions.Count > 0 && i < positions.Count)
                    {
                        img.rectTransform.anchoredPosition = positions[i] += imgoffset;
                    }
                }
            }
            else
            {
                // If there are no matches, remove the images from the pool
                for (int i = m_ImagesPool.Count - 1; i > 0; i--)
                {
                    if (m_ImagesPool[i])
                    {
                        if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject))
                        {
                            culled_ImagesPool.Add(m_ImagesPool[i].gameObject);
                            m_ImagesPool.Remove(m_ImagesPool[i]);
                        }
                    }
                }
            }

            // Remove any images that are not being used
            for (int i = m_ImagesPool.Count - 1; i >= matches.Count; i--)
            {
                if (i >= 0 && m_ImagesPool.Count > 0)
                {
                    if (m_ImagesPool[i])
                    {
                        if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject))
                        {
                            culled_ImagesPool.Add(m_ImagesPool[i].gameObject);
                            m_ImagesPool.Remove(m_ImagesPool[i]);
                        }
                    }
                }
            }

            // Clear the images when it is safe to do so
            if (culled_ImagesPool.Count > 0)
            {
                clearImages = true;
            }
        }
Пример #25
0
 public static GameObject CreateScrollView(DefaultControls.Resources resources)
 {
   GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Scroll View", new Vector2(200f, 200f));
   GameObject uiObject1 = DefaultControls.CreateUIObject("Viewport", uiElementRoot);
   GameObject uiObject2 = DefaultControls.CreateUIObject("Content", uiObject1);
   GameObject scrollbar1 = DefaultControls.CreateScrollbar(resources);
   scrollbar1.name = "Scrollbar Horizontal";
   DefaultControls.SetParentAndAlign(scrollbar1, uiElementRoot);
   RectTransform component1 = scrollbar1.GetComponent<RectTransform>();
   component1.anchorMin = Vector2.zero;
   component1.anchorMax = Vector2.right;
   component1.pivot = Vector2.zero;
   component1.sizeDelta = new Vector2(0.0f, component1.sizeDelta.y);
   GameObject scrollbar2 = DefaultControls.CreateScrollbar(resources);
   scrollbar2.name = "Scrollbar Vertical";
   DefaultControls.SetParentAndAlign(scrollbar2, uiElementRoot);
   scrollbar2.GetComponent<Scrollbar>().SetDirection(Scrollbar.Direction.BottomToTop, true);
   RectTransform component2 = scrollbar2.GetComponent<RectTransform>();
   component2.anchorMin = Vector2.right;
   component2.anchorMax = Vector2.one;
   component2.pivot = Vector2.one;
   component2.sizeDelta = new Vector2(component2.sizeDelta.x, 0.0f);
   RectTransform component3 = uiObject1.GetComponent<RectTransform>();
   component3.anchorMin = Vector2.zero;
   component3.anchorMax = Vector2.one;
   component3.sizeDelta = Vector2.zero;
   component3.pivot = Vector2.up;
   RectTransform component4 = uiObject2.GetComponent<RectTransform>();
   component4.anchorMin = Vector2.up;
   component4.anchorMax = Vector2.one;
   component4.sizeDelta = new Vector2(0.0f, 300f);
   component4.pivot = Vector2.up;
   ScrollRect scrollRect = uiElementRoot.AddComponent<ScrollRect>();
   scrollRect.content = component4;
   scrollRect.viewport = component3;
   scrollRect.horizontalScrollbar = scrollbar1.GetComponent<Scrollbar>();
   scrollRect.verticalScrollbar = scrollbar2.GetComponent<Scrollbar>();
   scrollRect.horizontalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
   scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
   scrollRect.horizontalScrollbarSpacing = -3f;
   scrollRect.verticalScrollbarSpacing = -3f;
   Image image1 = uiElementRoot.AddComponent<Image>();
   image1.sprite = resources.background;
   image1.type = Image.Type.Sliced;
   image1.color = DefaultControls.s_PanelColor;
   uiObject1.AddComponent<Mask>().showMaskGraphic = false;
   Image image2 = uiObject1.AddComponent<Image>();
   image2.sprite = resources.mask;
   image2.type = Image.Type.Sliced;
   return uiElementRoot;
 }