UnityEngine.UI.DefaultControls.CreateDropdown C# (CSharp) Method

CreateDropdown() public static method

public static CreateDropdown ( Resources resources ) : GameObject
resources UnityEngine.Resources
return UnityEngine.GameObject
        public static GameObject CreateDropdown(Resources resources)
        {
            GameObject parent = CreateUIElementRoot("Dropdown", s_ThickElementSize);
            GameObject obj3 = CreateUIObject("Label", parent);
            GameObject obj4 = CreateUIObject("Arrow", parent);
            GameObject obj5 = CreateUIObject("Template", parent);
            GameObject obj6 = CreateUIObject("Viewport", obj5);
            GameObject obj7 = CreateUIObject("Content", obj6);
            GameObject obj8 = CreateUIObject("Item", obj7);
            GameObject obj9 = CreateUIObject("Item Background", obj8);
            GameObject obj10 = CreateUIObject("Item Checkmark", obj8);
            GameObject obj11 = CreateUIObject("Item Label", obj8);
            GameObject child = CreateScrollbar(resources);
            child.name = "Scrollbar";
            SetParentAndAlign(child, obj5);
            Scrollbar component = child.GetComponent<Scrollbar>();
            component.SetDirection(Scrollbar.Direction.BottomToTop, true);
            RectTransform transform = child.GetComponent<RectTransform>();
            transform.anchorMin = Vector2.right;
            transform.anchorMax = Vector2.one;
            transform.pivot = Vector2.one;
            transform.sizeDelta = new Vector2(transform.sizeDelta.x, 0f);
            Text lbl = obj11.AddComponent<Text>();
            SetDefaultTextValues(lbl);
            lbl.alignment = TextAnchor.MiddleLeft;
            Image image = obj9.AddComponent<Image>();
            image.color = (Color) new Color32(0xf5, 0xf5, 0xf5, 0xff);
            Image image2 = obj10.AddComponent<Image>();
            image2.sprite = resources.checkmark;
            Toggle toggle = obj8.AddComponent<Toggle>();
            toggle.targetGraphic = image;
            toggle.graphic = image2;
            toggle.isOn = true;
            Image image3 = obj5.AddComponent<Image>();
            image3.sprite = resources.standard;
            image3.type = Image.Type.Sliced;
            ScrollRect rect = obj5.AddComponent<ScrollRect>();
            rect.content = (RectTransform) obj7.transform;
            rect.viewport = (RectTransform) obj6.transform;
            rect.horizontal = false;
            rect.movementType = ScrollRect.MovementType.Clamped;
            rect.verticalScrollbar = component;
            rect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport;
            rect.verticalScrollbarSpacing = -3f;
            obj6.AddComponent<Mask>().showMaskGraphic = false;
            Image image4 = obj6.AddComponent<Image>();
            image4.sprite = resources.mask;
            image4.type = Image.Type.Sliced;
            Text text2 = obj3.AddComponent<Text>();
            SetDefaultTextValues(text2);
            text2.alignment = TextAnchor.MiddleLeft;
            obj4.AddComponent<Image>().sprite = resources.dropdown;
            Image image6 = parent.AddComponent<Image>();
            image6.sprite = resources.standard;
            image6.color = s_DefaultSelectableColor;
            image6.type = Image.Type.Sliced;
            Dropdown slider = parent.AddComponent<Dropdown>();
            slider.targetGraphic = image6;
            SetDefaultColorTransitionValues(slider);
            slider.template = obj5.GetComponent<RectTransform>();
            slider.captionText = text2;
            slider.itemText = lbl;
            lbl.text = "Option A";
            Dropdown.OptionData item = new Dropdown.OptionData {
                text = "Option A"
            };
            slider.options.Add(item);
            item = new Dropdown.OptionData {
                text = "Option B"
            };
            slider.options.Add(item);
            item = new Dropdown.OptionData {
                text = "Option C"
            };
            slider.options.Add(item);
            slider.RefreshShownValue();
            RectTransform transform2 = obj3.GetComponent<RectTransform>();
            transform2.anchorMin = Vector2.zero;
            transform2.anchorMax = Vector2.one;
            transform2.offsetMin = new Vector2(10f, 6f);
            transform2.offsetMax = new Vector2(-25f, -7f);
            RectTransform transform3 = obj4.GetComponent<RectTransform>();
            transform3.anchorMin = new Vector2(1f, 0.5f);
            transform3.anchorMax = new Vector2(1f, 0.5f);
            transform3.sizeDelta = new Vector2(20f, 20f);
            transform3.anchoredPosition = new Vector2(-15f, 0f);
            RectTransform transform4 = obj5.GetComponent<RectTransform>();
            transform4.anchorMin = new Vector2(0f, 0f);
            transform4.anchorMax = new Vector2(1f, 0f);
            transform4.pivot = new Vector2(0.5f, 1f);
            transform4.anchoredPosition = new Vector2(0f, 2f);
            transform4.sizeDelta = new Vector2(0f, 150f);
            RectTransform transform5 = obj6.GetComponent<RectTransform>();
            transform5.anchorMin = new Vector2(0f, 0f);
            transform5.anchorMax = new Vector2(1f, 1f);
            transform5.sizeDelta = new Vector2(-18f, 0f);
            transform5.pivot = new Vector2(0f, 1f);
            RectTransform transform6 = obj7.GetComponent<RectTransform>();
            transform6.anchorMin = new Vector2(0f, 1f);
            transform6.anchorMax = new Vector2(1f, 1f);
            transform6.pivot = new Vector2(0.5f, 1f);
            transform6.anchoredPosition = new Vector2(0f, 0f);
            transform6.sizeDelta = new Vector2(0f, 28f);
            RectTransform transform7 = obj8.GetComponent<RectTransform>();
            transform7.anchorMin = new Vector2(0f, 0.5f);
            transform7.anchorMax = new Vector2(1f, 0.5f);
            transform7.sizeDelta = new Vector2(0f, 20f);
            RectTransform transform8 = obj9.GetComponent<RectTransform>();
            transform8.anchorMin = Vector2.zero;
            transform8.anchorMax = Vector2.one;
            transform8.sizeDelta = Vector2.zero;
            RectTransform transform9 = obj10.GetComponent<RectTransform>();
            transform9.anchorMin = new Vector2(0f, 0.5f);
            transform9.anchorMax = new Vector2(0f, 0.5f);
            transform9.sizeDelta = new Vector2(20f, 20f);
            transform9.anchoredPosition = new Vector2(10f, 0f);
            RectTransform transform10 = obj11.GetComponent<RectTransform>();
            transform10.anchorMin = Vector2.zero;
            transform10.anchorMax = Vector2.one;
            transform10.offsetMin = new Vector2(20f, 1f);
            transform10.offsetMax = new Vector2(-10f, -2f);
            obj5.SetActive(false);
            return parent;
        }