public void InitControl() { if (_root != null) { DestroyImmediate(_root.gameObject); } if (ContainerPrefab != null) { // create var own = GetComponent <RectTransform>(); _root = Instantiate(ContainerPrefab, own.position, own.rotation); _root.transform.SetParent(transform, false); _scrollControl = _root.ItemPanel.GetComponent <ScrollRect> (); _scrollControl.scrollSensitivity = ScrollSensitivity; var rt = _root.GetComponent <RectTransform>(); rt.pivot = new Vector2(0.5f, 0.5f); //root.anchoredPosition = Vector2.zero; rt.anchorMin = Vector2.zero; rt.anchorMax = Vector2.one; rt.offsetMax = Vector2.zero; rt.offsetMin = Vector2.zero; _root.gameObject.hideFlags = HideFlags.HideInHierarchy; // should really be HideAndDontSave, but unity crashes _root.ItemPanel.alpha = 0.0f; // create menu item var toCreate = ItemMenuPrefab; if (toCreate == null) { toCreate = ItemPrefab; } CreateMenuButton(toCreate); } }
public void InitControl() { if (root != null) { Object.DestroyImmediate(root.gameObject); } if (containerPrefab != null) { RectTransform component = GetComponent <RectTransform>(); root = (Object.Instantiate(containerPrefab, component.position, component.rotation) as StyledComboBoxPrefab); root.transform.SetParent(base.transform, worldPositionStays: false); RectTransform component2 = root.GetComponent <RectTransform>(); component2.pivot = new Vector2(0.5f, 0.5f); component2.anchorMin = Vector2.zero; component2.anchorMax = Vector2.one; component2.offsetMax = Vector2.zero; component2.offsetMin = Vector2.zero; root.gameObject.hideFlags = HideFlags.HideInHierarchy; root.itemPanel.gameObject.SetActive(isToggled); } }
private void AddItem(object data) { if (ItemPrefab != null) { var corners = new Vector3[4]; ItemPrefab.GetComponent <RectTransform>().GetLocalCorners(corners); var pos = corners[0]; var sizeY = pos.y - corners[2].y; pos.y = _items.Count * sizeY - 5f; var styledItem = Instantiate(ItemPrefab, pos, _root.ItemRoot.rotation); var trans = styledItem.GetComponent <RectTransform>(); styledItem.Populate(data); trans.SetParent(_root.ItemRoot.transform, false); trans.pivot = new Vector2(0, 1); trans.anchorMin = new Vector2(0, 1); trans.anchorMax = Vector2.one; trans.anchoredPosition = new Vector2(0.0f, pos.y); _items.Add(styledItem); trans.offsetMin = new Vector2(0, pos.y + sizeY); trans.offsetMax = new Vector2(0, pos.y); var offsetSize = (_items.Count + 1) * sizeY; if (-offsetSize > _root.GetComponent <RectTransform> ().rect.height) { _scrollControl.vertical = true; _scrollControl.verticalScrollbar.gameObject.SetActive(true); } _root.ItemRoot.offsetMin = new Vector2(_root.ItemRoot.offsetMin.x, offsetSize); var b = styledItem.GetButton(); var curIndex = _items.Count - 1; if (b != null) { b.onClick.AddListener(delegate { OnItemClicked(styledItem, curIndex); }); } } }
private void AddItem(object data) { if (itemPrefab != null) { Vector3[] corners = new Vector3[4]; itemPrefab.GetComponent <RectTransform>().GetLocalCorners(corners); Vector3 pos = corners[0]; float sizeY = pos.y - corners[2].y; pos.y = items.Count * sizeY - 5f; StyledItem styledItem = Instantiate(itemPrefab, pos, root.itemRoot.rotation) as StyledItem; RectTransform trans = styledItem.GetComponent <RectTransform>(); styledItem.Populate(data); trans.SetParent(root.itemRoot.transform, false); trans.pivot = new Vector2(0, 1); trans.anchorMin = new Vector2(0, 1); trans.anchorMax = Vector2.one; trans.anchoredPosition = new Vector2(0.0f, pos.y); items.Add(styledItem); trans.offsetMin = new Vector2(0, pos.y + sizeY); trans.offsetMax = new Vector2(0, pos.y); float offsetSize = (items.Count + 1) * sizeY; if (-offsetSize > root.GetComponent <RectTransform> ().rect.height) { scrollControl.vertical = true; scrollControl.verticalScrollbar.gameObject.SetActive(true); } root.itemRoot.offsetMin = new Vector2(root.itemRoot.offsetMin.x, offsetSize); Button b = styledItem.GetButton(); int curIndex = items.Count - 1; if (b != null) { b.onClick.AddListener(delegate() { OnItemClicked(styledItem, curIndex); }); } } }
public void InitControl() { if (root != null) DestroyImmediate(root.gameObject); if (containerPrefab != null) { // create RectTransform own = GetComponent<RectTransform>(); root = Instantiate(containerPrefab, own.position, own.rotation) as StyledComboBoxPrefab; root.transform.parent = this.transform; RectTransform rt = root.GetComponent<RectTransform>(); rt.pivot = new Vector2(0.5f, 0.5f); //root.anchoredPosition = Vector2.zero; rt.anchorMin = Vector2.zero; rt.anchorMax = Vector2.one; rt.offsetMax = Vector2.zero; rt.offsetMin = Vector2.zero; root.gameObject.hideFlags = HideFlags.HideInHierarchy; // should really be HideAndDontSave, but unity crashes root.itemPanel.alpha = 0.0f; // create menu item StyledItem toCreate = itemMenuPrefab; if (toCreate == null) toCreate = itemPrefab; CreateMenuButton(toCreate); } }