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); }
public override int CompareTo(object o) { int result; if (o is ComponentDropdownElement) { ComponentDropdownElement componentDropdownElement = (ComponentDropdownElement)o; if (this.m_IsLegacy && !componentDropdownElement.m_IsLegacy) { result = 1; return(result); } if (!this.m_IsLegacy && componentDropdownElement.m_IsLegacy) { result = -1; return(result); } } result = base.CompareTo(o); return(result); }