private DropdownItem AddItem(OptionData data, bool selected, DropdownItem itemTemplate, List <DropdownItem> items) { DropdownItem dropdownItem = CreateItem(itemTemplate); dropdownItem.rectTransform.SetParent(itemTemplate.rectTransform.get_parent(), false); dropdownItem.get_gameObject().SetActive(true); dropdownItem.get_gameObject().set_name("Item " + items.Count + ((data.get_text() != null) ? (": " + data.get_text()) : "")); if (dropdownItem.toggle != null) { dropdownItem.toggle.set_isOn(false); } if (Object.op_Implicit(dropdownItem.text)) { dropdownItem.text.SetText(data.get_text()); } if (Object.op_Implicit(dropdownItem.image)) { dropdownItem.image.set_sprite(data.get_image()); dropdownItem.image.set_enabled(dropdownItem.image.get_sprite() != null); } items.Add(dropdownItem); return(dropdownItem); }
public unsafe void Show() { //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Unknown result type (might be due to invalid IL or missing references) //IL_03d8: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_0472: Unknown result type (might be due to invalid IL or missing references) //IL_0479: Unknown result type (might be due to invalid IL or missing references) //IL_0493: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a8: Unknown result type (might be due to invalid IL or missing references) //IL_04b6: Unknown result type (might be due to invalid IL or missing references) //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_04c7: Unknown result type (might be due to invalid IL or missing references) if (!this.IsActive() || !this.IsInteractable() || m_Dropdown != null) { return; } if (!validTemplate) { SetupTemplate(); if (!validTemplate) { return; } } Canvas rootCanvas = this.get_gameObject().GetRootCanvas(); if (rootCanvas == null) { return; } m_Template.get_gameObject().SetActive(true); m_Dropdown = CreateDropdownList(m_Template.get_gameObject()); m_Dropdown.set_name("Dropdown List"); m_Dropdown.SetActive(true); RectTransform val = m_Dropdown.get_transform() as RectTransform; val.SetParent(m_Template.get_transform().get_parent(), false); DropdownItem componentInChildren = m_Dropdown.GetComponentInChildren <DropdownItem>(); RectTransform val2 = componentInChildren.rectTransform.get_parent().get_gameObject().get_transform() as RectTransform; componentInChildren.rectTransform.get_gameObject().SetActive(true); Rect rect = val2.get_rect(); Rect rect2 = componentInChildren.rectTransform.get_rect(); Vector2 val3 = rect2.get_min() - rect.get_min() + Vector2.op_Implicit(componentInChildren.rectTransform.get_localPosition()); Vector2 val4 = rect2.get_max() - rect.get_max() + Vector2.op_Implicit(componentInChildren.rectTransform.get_localPosition()); Vector2 size = rect2.get_size(); m_Items.Clear(); Toggle val5 = null; for (int i = 0; i < options.Count; i++) { OptionData data = options[i]; DropdownItem item = AddItem(data, value == i, componentInChildren, m_Items); if (!(item == null)) { item.toggle.set_isOn(value == i); _003C_003Ec__DisplayClass49_0 _003C_003Ec__DisplayClass49_; item.toggle.onValueChanged.AddListener(new UnityAction <bool>((object)_003C_003Ec__DisplayClass49_, (IntPtr)(void *) /*OpCode not supported: LdFtn*/)); if (item.toggle.get_isOn()) { item.toggle.Select(); } if (val5 != null) { Navigation navigation = val5.get_navigation(); Navigation navigation2 = item.toggle.get_navigation(); navigation.set_mode(4); navigation2.set_mode(4); navigation.set_selectOnDown(item.toggle); navigation.set_selectOnRight(item.toggle); navigation2.set_selectOnLeft(val5); navigation2.set_selectOnUp(val5); val5.set_navigation(navigation); item.toggle.set_navigation(navigation2); } val5 = item.toggle; } } Vector2 sizeDelta = val2.get_sizeDelta(); sizeDelta.y = ((IntPtr)(void *)size).y * (float)m_Items.Count + ((IntPtr)(void *)val3).y - ((IntPtr)(void *)val4).y; val2.set_sizeDelta(sizeDelta); Rect rect3 = val.get_rect(); float height = rect3.get_height(); rect3 = val2.get_rect(); float num = height - rect3.get_height(); if (num > 0f) { val.set_sizeDelta(new Vector2(((IntPtr)(void *)val.get_sizeDelta()).x, ((IntPtr)(void *)val.get_sizeDelta()).y - num)); } Vector3[] array = (Vector3[])new Vector3[4]; val.GetWorldCorners(array); RectTransform val6 = rootCanvas.get_transform() as RectTransform; Rect rect4 = val6.get_rect(); for (int j = 0; j < 2; j++) { bool flag = false; int num2 = 0; while (num2 < 4) { Vector3 val7 = val6.InverseTransformPoint(array[num2]); float num3 = val7.get_Item(j); Vector2 val8 = rect4.get_min(); if (!(num3 < val8.get_Item(j))) { float num4 = val7.get_Item(j); val8 = rect4.get_max(); if (!(num4 > val8.get_Item(j))) { num2++; continue; } } flag = true; break; } if (flag) { RectTransformUtility.FlipLayoutOnAxis(val, j, false, false); } } for (int k = 0; k < m_Items.Count; k++) { RectTransform rectTransform = m_Items[k].rectTransform; rectTransform.set_anchorMin(new Vector2(((IntPtr)(void *)rectTransform.get_anchorMin()).x, 0f)); rectTransform.set_anchorMax(new Vector2(((IntPtr)(void *)rectTransform.get_anchorMax()).x, 0f)); rectTransform.set_anchoredPosition(new Vector2(((IntPtr)(void *)rectTransform.get_anchoredPosition()).x, ((IntPtr)(void *)val3).y + ((IntPtr)(void *)size).y * (float)(m_Items.Count - 1 - k) + ((IntPtr)(void *)size).y * ((IntPtr)(void *)rectTransform.get_pivot()).y)); rectTransform.set_sizeDelta(new Vector2(((IntPtr)(void *)rectTransform.get_sizeDelta()).x, ((IntPtr)(void *)size).y)); } m_Template.get_gameObject().SetActive(false); componentInChildren.get_gameObject().SetActive(false); m_Blocker = CreateBlocker(rootCanvas); }