private static GameObject CreateUIObject(string name, GameObject parent) { GameObject gameObject = new GameObject(name); gameObject.AddComponent <RectTransform>(); TMP_DefaultControls.SetParentAndAlign(gameObject, parent); return(gameObject); }
public static GameObject CreateDropdown(TMP_DefaultControls.Resources resources) { GameObject gameObject = TMP_DefaultControls.CreateUIElementRoot("Dropdown", TMP_DefaultControls.s_ThickElementSize); GameObject gameObject2 = TMP_DefaultControls.CreateUIObject("Label", gameObject); GameObject gameObject3 = TMP_DefaultControls.CreateUIObject("Arrow", gameObject); GameObject gameObject4 = TMP_DefaultControls.CreateUIObject("Template", gameObject); GameObject gameObject5 = TMP_DefaultControls.CreateUIObject("Viewport", gameObject4); GameObject gameObject6 = TMP_DefaultControls.CreateUIObject("Content", gameObject5); GameObject gameObject7 = TMP_DefaultControls.CreateUIObject("Item", gameObject6); GameObject gameObject8 = TMP_DefaultControls.CreateUIObject("Item Background", gameObject7); GameObject gameObject9 = TMP_DefaultControls.CreateUIObject("Item Checkmark", gameObject7); GameObject gameObject10 = TMP_DefaultControls.CreateUIObject("Item Label", gameObject7); GameObject gameObject11 = TMP_DefaultControls.CreateScrollbar(resources); gameObject11.name = "Scrollbar"; TMP_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); TextMeshProUGUI textMeshProUGUI = gameObject10.AddComponent <TextMeshProUGUI>(); TMP_DefaultControls.SetDefaultTextValues(textMeshProUGUI); textMeshProUGUI.alignment = TextAlignmentOptions.Left; 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; TextMeshProUGUI textMeshProUGUI2 = gameObject2.AddComponent <TextMeshProUGUI>(); TMP_DefaultControls.SetDefaultTextValues(textMeshProUGUI2); textMeshProUGUI2.alignment = TextAlignmentOptions.Left; Image image5 = gameObject3.AddComponent <Image>(); image5.sprite = resources.dropdown; Image image6 = gameObject.AddComponent <Image>(); image6.sprite = resources.standard; image6.color = TMP_DefaultControls.s_DefaultSelectableColor; image6.type = Image.Type.Sliced; TMP_Dropdown tmp_Dropdown = gameObject.AddComponent <TMP_Dropdown>(); tmp_Dropdown.targetGraphic = image6; TMP_DefaultControls.SetDefaultColorTransitionValues(tmp_Dropdown); tmp_Dropdown.template = gameObject4.GetComponent <RectTransform>(); tmp_Dropdown.captionText = textMeshProUGUI2; tmp_Dropdown.itemText = textMeshProUGUI; textMeshProUGUI.text = "Option A"; tmp_Dropdown.options.Add(new TMP_Dropdown.OptionData { text = "Option A" }); tmp_Dropdown.options.Add(new TMP_Dropdown.OptionData { text = "Option B" }); tmp_Dropdown.options.Add(new TMP_Dropdown.OptionData { text = "Option C" }); tmp_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); }