protected override DropdownItem CreateItem(DropdownItem itemTemplate) { var item = base.CreateItem(itemTemplate); OnItemCreated?.Invoke(item.gameObject); return(item); }
// Add a new drop-down list item with the specified values. private DropdownItem AddItem(OptionData data, bool selected, DropdownItem itemTemplate, List <DropdownItem> items) { // Add a new item to the dropdown. DropdownItem item = CreateItem(itemTemplate); item.rectTransform.SetParent(itemTemplate.rectTransform.parent, false); item.gameObject.SetActive(true); item.gameObject.name = "Item " + items.Count + (data.text != null ? ": " + data.text : ""); if (item.toggle != null) { item.toggle.isOn = false; } // Set the item's data if (item.text) { item.text.text = data.text; } if (item.image) { item.image.sprite = data.image; item.image.enabled = (item.image.sprite != null); } items.Add(item); return(item); }
public override void OnPointerClick(PointerEventData eventData) { Transform dropdownT = transform.Find("Dropdown List"); Show(); if (!IsActive() || !IsInteractable() || dropdownT != null) { return; } dropdownT = transform.Find("Dropdown List"); if (dropdownT != null && OnInitItem != null) { DropdownItem[] items = dropdownT.GetComponentsInChildren <DropdownItem>(); for (int i = 0; i < items.Length; i++) { DropdownItem item = items[i]; string s_n = item.name; int id = 0; s_n = s_n.Replace("item ", ""); int pos_end = s_n.IndexOf(':'); if (pos_end > -1) { s_n = s_n.Substring(0, pos_end); int.TryParse(s_n, out id); } OnInitItem(gameObject, item.gameObject, id); } //OnInitItems(dropdownT.gameObject); } }
protected override void OnInitialized() { base.OnInitialized(); var male = new DropdownItem <GenderTypeEnum> { ItemObject = GenderTypeEnum.Male, DisplayText = "Male" }; var female = new DropdownItem <GenderTypeEnum> { ItemObject = GenderTypeEnum.Female, DisplayText = "Female" }; var neutral = new DropdownItem <GenderTypeEnum> { ItemObject = GenderTypeEnum.Neutral, DisplayText = "others" }; GenderTypeDropDownItems.Add(male); GenderTypeDropDownItems.Add(female); GenderTypeDropDownItems.Add(neutral); SelectedGenderTypeDropDownItem = female; TryGetUsernameFromUri(); }
// Change the value and hide the dropdown. private void OnSelectItem(DropdownItem item) { if (item.blockerActive) { return; } Toggle toggle = item.toggle; int selectedIndex = -1; Transform tr = toggle.transform; Transform parent = tr.parent; for (int i = 0; i < parent.childCount; i++) { if (parent.GetChild(i) == tr) { // Subtract one to account for template child. selectedIndex = i - 1; break; } } if (selectedIndex < 0) { return; } value = selectedIndex; if (item.settingsToggleKey == string.Empty) { Hide(); } }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { DropdownItem item = base.CreateItem(itemTemplate); BrocastItem(options[count], item); count++; return(item); }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { var itemIns = base.CreateItem(itemTemplate); Button itemButton = itemIns.GetComponentInChildren <Button>(); buttons.Add(itemButton); return(itemIns); }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { DropdownItem ddi = base.CreateItem(itemTemplate); ddi.transform.GetChild(3).GetComponentInChildren <BoundTooltipTrigger>().text = _i18NDropdown.getKeys()[count] + "_description"; count++; return(ddi); }
void SetupGraphicsDropdown() { if (graphicsQualityDropdown == null) { GameObject newDropdown = Instantiate(dropdownItemPrefab, scrollViewContent); graphicsQualityDropdown = newDropdown.GetComponent <DropdownItem>(); } graphicsQualityDropdown.Init("Quality", QualitySettings.GetQualityLevel(), QualitySettings.names.ToList(), SetQuality); }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { var item = base.CreateItem(itemTemplate); var toggle = item.GetComponent<ToggleButton>(); toggle.Initialize(Context); return item; }
private void SetupTemplate() { //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Expected O, but got Unknown validTemplate = false; if (!Object.op_Implicit(m_Template)) { Debug.LogError((object)"The dropdown template is not assigned. The template needs to be assigned and must have a child GameObject with a Toggle component serving as the item.", this); return; } GameObject gameObject = m_Template.get_gameObject(); gameObject.SetActive(true); Toggle componentInChildren = m_Template.GetComponentInChildren <Toggle>(); validTemplate = true; if (!Object.op_Implicit(componentInChildren) || componentInChildren.get_transform() == template) { validTemplate = false; Debug.LogError((object)"The dropdown template is not valid. The template must have a child GameObject with a Toggle component serving as the item.", template); } else if (!(componentInChildren.get_transform().get_parent() is RectTransform)) { validTemplate = false; Debug.LogError((object)"The dropdown template is not valid. The child GameObject with a Toggle component (the item) must have a RectTransform on its parent.", template); } else if (itemText != null && !itemText.get_transform().IsChildOf(componentInChildren.get_transform())) { validTemplate = false; Debug.LogError((object)"The dropdown template is not valid. The Item Text must be on the item GameObject or children of it.", template); } else if (itemImage != null && !itemImage.get_transform().IsChildOf(componentInChildren.get_transform())) { validTemplate = false; Debug.LogError((object)"The dropdown template is not valid. The Item Image must be on the item GameObject or children of it.", template); } if (!validTemplate) { gameObject.SetActive(false); return; } DropdownItem dropdownItem = componentInChildren.get_gameObject().AddComponent <DropdownItem>(); dropdownItem.text = m_ItemText; dropdownItem.image = m_ItemImage; dropdownItem.toggle = componentInChildren; dropdownItem.rectTransform = componentInChildren.get_transform(); Canvas orAddComponent = TextFieldDropdown.GetOrAddComponent <Canvas>(gameObject); orAddComponent.set_overrideSorting(true); orAddComponent.set_sortingOrder(30000); TextFieldDropdown.GetOrAddComponent <CustomGraphicRaycaster>(gameObject); TextFieldDropdown.GetOrAddComponent <CanvasGroup>(gameObject); gameObject.SetActive(false); validTemplate = true; }
/// <summary> /// 关闭列表时,销毁Item的Callback /// </summary> /// <param name="item"></param> protected override void DestroyItem(DropdownItem item) { // 如果包含Toggle,就删除 if (m_ItemToggles.Contains(item.toggle)) { m_ItemToggles.Remove(item.toggle); } base.DestroyItem(item); }
void SetupFullscreenDropdown() { if (fullScreenDropdown == null) { GameObject newDropdown = Instantiate(dropdownItemPrefab, scrollViewContent); fullScreenDropdown = newDropdown.GetComponent <DropdownItem>(); } fullScreenDropdown.Init("Fullscreen", 0, new List <string> { "FullScreen", "Windowed" }, SetFullScreen); }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { // Generate a DropdownItem DropdownItem itemToReplace = base.CreateItem(itemTemplate); allDropDownItems.Add(itemToReplace, itemToReplace.text); // Indicate items needs to change isItemsSetup = false; return(itemToReplace); }
private void BrocastItem(OptionData data, DropdownItem item) { if (data == null) { return; } if (brocast != null) { brocast.Call(data.text, item); } }
void SetupResolutionDropdown() { resolutions = GetBestResolutions(); if (resolutionDropdown == null) { GameObject newDropdown = Instantiate(dropdownItemPrefab, scrollViewContent); resolutionDropdown = newDropdown.GetComponent <DropdownItem>(); } resolutionDropdown.Init("Resolution", GetStartingResolution(), GetResolutionCapabilities(), SetResolution); }
protected override void DestroyItem(DropdownItem item) { base.DestroyItem(item); if (allDropDownItems.ContainsKey(item) == true) { allDropDownItems.Remove(item); } // Indicate items needs to change isItemsSetup = false; }
public void SetValue(object value) { var dropdownValue = value.CastTObject <DropdownValue <object> >(); DropdownItem selectedItem = this.Items.FirstOrDefault(a => a.Value.Equals(dropdownValue.Value)); if (selectedItem != null) { var selectedPosition = this.Items.IndexOf(selectedItem); this.PickerView.Select(selectedPosition, 0, false); } }
private void SetupTemplate() { validTemplate = false; if (!m_Template) { Debug.LogError("The dropdown template is not assigned. The template needs to be assigned and must have a child GameObject with a Toggle component serving as the item.", this); return; } GameObject gameObject = m_Template.gameObject; gameObject.SetActive(value: true); Toggle componentInChildren = m_Template.GetComponentInChildren <Toggle>(); validTemplate = true; if (!componentInChildren || componentInChildren.transform == template) { validTemplate = false; Debug.LogError("The dropdown template is not valid. The template must have a child GameObject with a Toggle component serving as the item.", template); } else if (!(componentInChildren.transform.parent is RectTransform)) { validTemplate = false; Debug.LogError("The dropdown template is not valid. The child GameObject with a Toggle component (the item) must have a RectTransform on its parent.", template); } else if (itemText != null && !itemText.transform.IsChildOf(componentInChildren.transform)) { validTemplate = false; Debug.LogError("The dropdown template is not valid. The Item Text must be on the item GameObject or children of it.", template); } else if (itemImage != null && !itemImage.transform.IsChildOf(componentInChildren.transform)) { validTemplate = false; Debug.LogError("The dropdown template is not valid. The Item Image must be on the item GameObject or children of it.", template); } if (!validTemplate) { gameObject.SetActive(value: false); return; } DropdownItem dropdownItem = componentInChildren.gameObject.AddComponent <DropdownItem>(); dropdownItem.text = m_ItemText; dropdownItem.image = m_ItemImage; dropdownItem.toggle = componentInChildren; dropdownItem.rectTransform = (RectTransform)componentInChildren.transform; Canvas orAddComponent = GetOrAddComponent <Canvas>(gameObject); orAddComponent.overrideSorting = true; orAddComponent.sortingOrder = 30000; GetOrAddComponent <GraphicRaycaster>(gameObject); GetOrAddComponent <CanvasGroup>(gameObject); gameObject.SetActive(value: false); validTemplate = true; }
protected override DropdownItem CreateItem(DropdownItem itemTemplate) { var item = base.CreateItem(itemTemplate); var rectTransform = item.GetComponent <RectTransform>(); rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; return(item); }
protected void AddTags(DropdownItem tag) { if (model.Tags == null) { model.Tags = new Collection <ItemUuidValue>(); } model.Tags.Add(new ItemUuidValue() { ref_id = tag.uid, name = tag.label, description = tag.description }); CheckTagsData(); }
//Make disabled options half transparent protected override DropdownItem CreateItem(DropdownItem itemTemplate) { DropdownItem item = base.CreateItem(itemTemplate); item.toggle.interactable = ((CustomOptionData)options[index]).Interactable; Color color = item.text.color; color.a = ((CustomOptionData)options[index]).Interactable ? 1f : 0.5f; item.text.color = color; index++; return(item); }
protected void AddTags(DropdownItem tag) { if (model.Tags == null) { model.Tags = new Collection <ItemUuidValue>(); } //SearchTagsData.Remove(tag); model.Tags.Add(new ItemUuidValue() { ref_id = tag.uid, name = tag.label }); CheckTagsData(); }
// ReSharper disable once MemberHidesStaticFromOuterClass public static DropdownItem ReadXml(XElement ele) { var i = new DropdownItem { Description = ele.Element("Description")?.Value, Fee = ele.Attribute("Fee").ToDecimal(), Limit = ele.Attribute("Limit").ToInt2(), MeetingTime = ele.Attribute("Time").ToDate() }; i.SmallGroup = (ele.Element("SmallGroup")?.Value ?? i.Description)?.TrimEnd(); return(i); }
void ExecSelectedIndexChanged(object parameter) { DropdownItem item = parameter as DropdownItem; if (item.ID == 0) { SelectRoleCanLogin = false; } else { SelectRoleCanLogin = true; } }
public new static AskDropdown ReadXml(XElement ele) { var dd = new AskDropdown { Label = ele.Element("Label")?.Value }; foreach (var ee in ele.Elements("DropdownItem")) { dd.list.Add(DropdownItem.ReadXml(ee)); } // todo: prevent duplicates return(dd); }
public new static AskDropdown ReadXml(XElement ele) { var dd = new AskDropdown { Label = ele.Element("Label")?.Value }; foreach (var ee in ele.Elements("DropdownItem")) { if (ee.Element("Description")?.Value != null) { dd.list.Add(DropdownItem.ReadXml(ee)); } } return(dd); }
public IActionResult ChildDropdown(string ParentId, string SubDropdownKey, int ParentValue) { List <DropdownItem> DropdownItems = SelectListItemsRegistry.Get().GetFromDict(ParentId); DropdownItem selectedDdlItem = DropdownItems.Where(x => x.DropdownValue() == ParentValue.ToString()).FirstOrDefault(); if (!typeof(SubDropdownItemProviderFactory).IsAssignableFrom(selectedDdlItem.GetType())) { throw new InvalidParentDropdownException($"Unable to create SubDropdownFactory from parent dropdown {ParentId} (Class: {selectedDdlItem.GetType().FullName}), make sure {selectedDdlItem.GetType().FullName} implements SubDropdownItemProviderFactory"); } SubDropdownItemProviderFactory subDropdownItemProviderFactory = (SubDropdownItemProviderFactory)selectedDdlItem; List <DropdownItem> subDropdownItems = subDropdownItemProviderFactory?.GetSubDropdownItems(SubDropdownKey) ?? new List <DropdownItem>(); List <SelectListItem> selectListItems = Dropdown.From(subDropdownItems); return(Json(selectListItems)); }
public void TryMakeNext() { // Attempts creating the next dropdown item. If not one, ends. currentDropdownIndex++; try { //print("Nearly equal - \na: " + percentageComplete + "\nb: " + (increment *(double)currentDropdownIndex)); Image newDropdownImage = Instantiate(dropdownPrefab); Text newText = newDropdownImage.GetComponentInChildren <Text>(); newText.text = newList[currentDropdownIndex - 1].mode; newDropdownImage.transform.SetParent(transform, false); newDropdownImage.gameObject.SetActive(true); Color color = newDropdownImage.color; color.a = 0; newDropdownImage.color = color; //RectTransform rect = newDropdownImage.GetComponent<RectTransform>(); Vector2 initialPos = new Vector2(0, -(currentDropdownIndex - 1) * (dropdownRect.rect.height - .65f)); // -.65f gets rid of line in between (causes slight overlap) DropdownItem newDropdownItem = newDropdownImage.gameObject.GetComponent <DropdownItem>(); newDropdownItem.listMode = newList[currentDropdownIndex - 1]; Button newButton = newDropdownItem.GetComponentInChildren <Button>(); newDropdownImage.sprite = (newList[currentDropdownIndex - 1].selected) ? SpriteManager.selectedDropdownSprite : SpriteManager.defaultDropdownSprite; switch (dropdownType) { case DropdownType.SortBy: ListMode sortModeListener = newList[currentDropdownIndex - 1]; newButton.onClick.RemoveAllListeners(); newButton.onClick.AddListener(() => window.SetSortMode(sortModeListener)); break; case DropdownType.Filter: ListMode filterModeListener = newList[currentDropdownIndex - 1]; newButton.onClick.AddListener(() => window.FilterModeCallback(filterModeListener)); break; case DropdownType.Location: ListMode locationModeListener = newList[currentDropdownIndex - 1]; // newButton.onClick.AddListener(() => window.SetLocationMode(locationModeListener)); break; } newDropdownItem.Open(initialPos); dropdownDisplayedItems.Add(newDropdownItem); } catch (ArgumentOutOfRangeException) { creatingDropdown = false; currentDropdownIndex = 0; } }
public void DropdownTests_Style() { _drop.Position = new Point(10, 20); _drop.Size = new Vector2(30, 40); var dropitem = new DropdownItem <string>("catpants", _drop); dropitem.Vertical = VerticalAlignment.Top; dropitem.Horizontal = HorizontalAlignment.Left; dropitem.Size = new Vector2(30, 40); _drop.AddDropdownItem(dropitem); _drop.SelectedItem = "catpants"; Assert.AreEqual(false, dropitem.HasBackground); Assert.AreEqual(false, dropitem.HasOutline); }
public static DropdownItem Parse(Parser parser, int startindent) { var i = new DropdownItem(); if (parser.curr.kw != Parser.RegKeywords.None) throw parser.GetException("unexpected line in Dropdown"); i.Description = parser.GetLine(); i.SmallGroup = i.Description; if (parser.curr.indent <= startindent) return i; var ind = parser.curr.indent; while (parser.curr.indent == ind) { switch (parser.curr.kw) { case Parser.RegKeywords.SmallGroup: i.SmallGroup = parser.GetString(i.Description); break; case Parser.RegKeywords.Fee: i.Fee = parser.GetDecimal(); break; case Parser.RegKeywords.Limit: i.Limit = parser.GetNullInt(); break; case Parser.RegKeywords.Time: i.MeetingTime = parser.GetDateTime(); break; default: throw parser.GetException("unexpected line in DropdownItem"); } } return i; }
// ReSharper disable once MemberHidesStaticFromOuterClass public static DropdownItem ReadXml(XElement ele) { var i = new DropdownItem { Description = ele.Element("Description")?.Value, Fee = ele.Attribute("Fee")?.Value?.ToDecimal(), Limit = ele.Attribute("Limit")?.Value?.ToInt2(), MeetingTime = ele.Attribute("Time")?.Value?.ToDate() }; i.SmallGroup = ele.Element("SmallGroup")?.Value ?? i.Description; return i; }