static public int constructor(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         UnityEngine.UI.DefaultControls.Resources o;
         o = new UnityEngine.UI.DefaultControls.Resources();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }
Example #2
0
 static public int constructor(IntPtr l)
 {
     try {
         UnityEngine.UI.DefaultControls.Resources o;
         o = new UnityEngine.UI.DefaultControls.Resources();
         pushValue(l, o);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 public static int constructor(IntPtr l)
 {
     try {
         UnityEngine.UI.DefaultControls.Resources o;
         o=new UnityEngine.UI.DefaultControls.Resources();
         pushValue(l,true);
         pushValue(l,o);
         return 2;
     }
     catch(Exception e) {
         return error(l,e);
     }
 }
Example #4
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);
        }
        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);
        }
Example #6
0
        public static GameObject CreateLoopHorizontalScrollRect(DefaultControls.Resources resources)
        {
            GameObject root = CreateUIElementRoot("Loop Horizontal Scroll Rect", new Vector2(200, 200));

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

            RectTransform contentRT = content.GetComponent <RectTransform>();

            contentRT.anchorMin = new Vector2(0, 0.5f);
            contentRT.anchorMax = new Vector2(0, 0.5f);
            contentRT.sizeDelta = new Vector2(0, 200);
            contentRT.pivot     = new Vector2(0, 0.5f);

            // Setup UI components.

            LoopHorizontalScrollRect scrollRect = root.AddComponent <LoopHorizontalScrollRect>();

            scrollRect.content                       = contentRT;
            scrollRect.viewport                      = null;
            scrollRect.horizontalScrollbar           = null;
            scrollRect.verticalScrollbar             = null;
            scrollRect.horizontal                    = true;
            scrollRect.vertical                      = false;
            scrollRect.horizontalScrollbarVisibility = LoopScrollRect.ScrollbarVisibility.Permanent;
            scrollRect.verticalScrollbarVisibility   = LoopScrollRect.ScrollbarVisibility.Permanent;
            scrollRect.horizontalScrollbarSpacing    = 0;
            scrollRect.verticalScrollbarSpacing      = 0;

            root.AddComponent <RectMask2D>();
            root.AddComponent <YYEmpty4RaycastBtn>(); //为了在任何view的位置都可以拖动

            HorizontalLayoutGroup layoutGroup = content.AddComponent <HorizontalLayoutGroup>();

            layoutGroup.childAlignment         = TextAnchor.MiddleLeft;
            layoutGroup.childControlHeight     = true;
            layoutGroup.childControlWidth      = true;
            layoutGroup.childForceExpandWidth  = false;
            layoutGroup.childForceExpandHeight = false;

            ContentSizeFitter sizeFitter = content.AddComponent <ContentSizeFitter>();

            sizeFitter.horizontalFit = ContentSizeFitter.FitMode.PreferredSize;
            sizeFitter.verticalFit   = ContentSizeFitter.FitMode.Unconstrained;

            return(root);
        }
        public static GameObject CreateListViewVertical(DefaultControls.Resources resources)
        {
            GameObject root = CreateUIElementRoot("ListView", 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.

            ListView scrollRect = root.AddComponent <ListView>();

            scrollRect.content                       = contentRT;
            scrollRect.viewport                      = null;
            scrollRect.horizontalScrollbar           = null;
            scrollRect.verticalScrollbar             = null;
            scrollRect.direction                     = LoopScrollRect.eDirection.kVertical;
            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);
        }
        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 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);
        }
Example #10
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);
        }
Example #11
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);
        }
Example #12
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);
        }
        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);
        }
        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);
        }
Example #15
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;
            }
        }