protected override DropdownElement RebuildTree() { DropdownElement dropdownElement = new DropdownElement("ROOT"); string[] submenus = Unsupported.GetSubmenus("Component"); string[] submenusCommands = Unsupported.GetSubmenusCommands("Component"); for (int i = 0; i < submenus.Length; i++) { if (!(submenusCommands[i] == "ADD")) { string text = submenus[i]; string[] array = text.Split(new char[] { '/' }); DropdownElement dropdownElement2 = dropdownElement; for (int j = 0; j < array.Length; j++) { string path = array[j]; if (j == array.Length - 1) { ComponentDropdownElement componentDropdownElement = new ComponentDropdownElement(LocalizationDatabase.GetLocalizedString(path), text, submenusCommands[i]); componentDropdownElement.SetParent(dropdownElement2); dropdownElement2.AddChild(componentDropdownElement); } else { DropdownElement dropdownElement3 = dropdownElement2.children.SingleOrDefault((DropdownElement c) => c.name == path); if (dropdownElement3 == null) { dropdownElement3 = new GroupDropdownElement(path); dropdownElement3.SetParent(dropdownElement2); dropdownElement2.AddChild(dropdownElement3); } dropdownElement2 = dropdownElement3; } } } } dropdownElement = dropdownElement.children.Single <DropdownElement>(); dropdownElement.SetParent(null); GroupDropdownElement groupDropdownElement = new GroupDropdownElement("New script"); groupDropdownElement.AddChild(new NewScriptDropdownElement()); groupDropdownElement.SetParent(dropdownElement); dropdownElement.AddChild(groupDropdownElement); return(dropdownElement); }
protected override DropdownElement RebuildSearch() { DropdownElement dropdownElement = base.RebuildSearch(); if (dropdownElement != null) { GroupDropdownElement groupDropdownElement = new GroupDropdownElement("New script"); NewScriptDropdownElement newScriptDropdownElement = new NewScriptDropdownElement(); newScriptDropdownElement.className = this.m_Search; groupDropdownElement.AddChild(newScriptDropdownElement); newScriptDropdownElement.SetParent(groupDropdownElement); groupDropdownElement.SetParent(dropdownElement); dropdownElement.AddChild(groupDropdownElement); } return(dropdownElement); }
protected virtual DropdownElement RebuildSearch() { DropdownElement result; if (string.IsNullOrEmpty(this.m_Search)) { result = null; } else { string[] array = this.m_Search.ToLower().Split(new char[] { ' ' }); List <DropdownElement> list = new List <DropdownElement>(); List <DropdownElement> list2 = new List <DropdownElement>(); foreach (DropdownElement current in this.m_MainTree.GetSearchableElements()) { string text = current.name.ToLower().Replace(" ", ""); bool flag = true; bool flag2 = false; for (int i = 0; i < array.Length; i++) { string value = array[i]; if (!text.Contains(value)) { flag = false; break; } if (i == 0 && text.StartsWith(value)) { flag2 = true; } } if (flag) { if (flag2) { list.Add(current); } else { list2.Add(current); } } } list.Sort(); list2.Sort(); GroupDropdownElement groupDropdownElement = new GroupDropdownElement("Search"); foreach (DropdownElement current2 in list) { groupDropdownElement.AddChild(current2); } foreach (DropdownElement current3 in list2) { groupDropdownElement.AddChild(current3); } result = groupDropdownElement; } return(result); }